Java 从对数组中选择字符串数组?

Java 从对数组中选择字符串数组?,java,arrays,Java,Arrays,我是否可以从成对数组返回字符串数组?我猜这与hashmap有关,因为其中涉及两个值。任何简单的例子加上一些解释都会有帮助:) 正如@dasblinkenlight所指出的,如果输入是(y,3),(t,2),我希望输出为“yPP”,“tP”,其中字符串应该具有给定数值的长度。所以在取了这个字符之后,剩余的长度将由P填充 假设我有静态方法 public static Line[] get(Couple[] temp) 我需要完成它,以便我的主要方法将产生以下结果: get (new Couple[

我是否可以从成对数组返回字符串数组?我猜这与hashmap有关,因为其中涉及两个值。任何简单的例子加上一些解释都会有帮助:)

正如@dasblinkenlight所指出的,如果输入是(y,3),(t,2),我希望输出为“yPP”,“tP”,其中字符串应该具有给定数值的长度。所以在取了这个字符之后,剩余的长度将由P填充

假设我有静态方法

public static Line[] get(Couple[] temp)
我需要完成它,以便我的主要方法将产生以下结果:

get (new Couple[]{new Couple(’e’,4), new Couple(’n’,2)})
应该返回字符串数组

{"ePPP", "nP"}
希望这有帮助:)


稍后,创建一个简单的
Pair[]
,并使用
Pair
类实现为

class Pair {
    private final String s;
    private final int i;

    public Pair(String s, int i){
        this.s = s;
        this.i = i;
    }

    public String getS() {
        return s;
    }

    public int getI() {
        return i;
    }
}
初始化
对[]
,并根据需要调用转换器方法

Pair[] pairArr = new Pair[2];

pairArr[0] = new Pair("Y", 3);
pairArr[1] = new Pair("T", 2);

System.out.println(Arrays.toString(convertPairsToStrArray(pairArr, "P")));
输出

下面是一个示例转换器实现:

private static String[] convertPairsToStrArray(Pair[] pairArr, String padStr) {
    String[] strArr = null;
    if (pairArr != null) {
        strArr = new String[pairArr.length];
        for (int i = 0; i < pairArr.length; i++) {
            String s = pairArr[i].getS();
            StringBuilder sb = new StringBuilder();
            if (s != null) {
                sb.append(s);
                int j = 0; 
                if ((j = pairArr[i].getI() - s.length()) > 0) {
                    while (j-- > 0) {
                        sb.append(padStr);
                    }
                }
            }
            strArr[i] = sb.toString();
        }
    }
    return strArr;
}
私有静态字符串[]convertPairsToStrArray(对[]对,字符串padStr){
字符串[]strArr=null;
if(pairar!=null){
strArr=新字符串[pairar.length];
for(int i=0;i0){
而(j-->0){
某人追加(padStr);
}
}
}
strArr[i]=sb.toString();
}
}
返回斯特拉尔;
}

与许多事情一样,问题包含答案。 创建一个类来保存这些对。向该类添加一个方法,以生成所需的输出。下面是一些代码:

Pairzor.java:

public class Pairzor
{
    private final static char FILL_CHARACTER = 'P';

    private final char theChar;
    private final int theCount;

    public Pairzor(
        final char newChar,
        final int newCount)
    {
        theChar = newChar;
        theCount = newCount;
    }

    public final String blammy()
    {
        StringBuilder buffer = new StringBuilder();

        buffer.append(theChar);
        for (int count = 1; count < theCount; ++count)
        {
            buffer.append(FILL_CHARACTER);
        }

        return buffer.toString();
    }
}

“成对数组”是什么意思?@arshajii我想他的意思是,但最好确认一下。“成对”可以包装到一个对象中,然后重写
toString()
以获得对象的字符串表示形式,但您的问题不清楚,请编辑
private static String[] convertPairsToStrArray(Pair[] pairArr, String padStr) {
    String[] strArr = null;
    if (pairArr != null) {
        strArr = new String[pairArr.length];
        for (int i = 0; i < pairArr.length; i++) {
            String s = pairArr[i].getS();
            StringBuilder sb = new StringBuilder();
            if (s != null) {
                sb.append(s);
                int j = 0; 
                if ((j = pairArr[i].getI() - s.length()) > 0) {
                    while (j-- > 0) {
                        sb.append(padStr);
                    }
                }
            }
            strArr[i] = sb.toString();
        }
    }
    return strArr;
}
public class Pairzor
{
    private final static char FILL_CHARACTER = 'P';

    private final char theChar;
    private final int theCount;

    public Pairzor(
        final char newChar,
        final int newCount)
    {
        theChar = newChar;
        theCount = newCount;
    }

    public final String blammy()
    {
        StringBuilder buffer = new StringBuilder();

        buffer.append(theChar);
        for (int count = 1; count < theCount; ++count)
        {
            buffer.append(FILL_CHARACTER);
        }

        return buffer.toString();
    }
}
public class Main
{
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        Pairzor one = new Pairzor('y', 3);
        Pairzor two = new Pairzor('t', 2);

        System.out.println(one.blammy());
        System.out.println(two.blammy());
    }
}