如何将字符数组中的字符添加到Java中的字符串

时间:2018-11-24 04:14:59

标签: java

我搜索了该站点,并在另一个问题的答案中找到了部分有用的StringBuilder方法,但它似乎不想将2d char数组的索引x和y上的char作为参数。

您能建议一个更好,更简单的方法吗?我说简单,是因为决赛中可能会出现类似的情况,我希望能够记住它。如果对于初学者来说,这对我来说是“异国情调”,我可能不会。

我学习了C ++编程基础知识,如果是内存服务器,我所要做的就是str + = arrChars [x] [y];但是,这不适用于Java。

这是我的toString()方法的当前状态:

public String toString()    {

    StringBuilder gardenPrint= new StringBuilder(" | 0 1 2 3\n");
    int i, j;
    for(i=0;i<garden.length;i++)
        gardenPrint.append(i+ " | ");
        for(j=0;j<garden.length;j++)
            gardenPrint.append(garden[i][j]+" "+(j==garden.length-1) ? "\n":"");
    return gardenPrint;
}

2 个答案:

答案 0 :(得分:1)

Java(也不是C ++)循环由缩进控制。您需要括号,三元需要括号,并且您必须返回String。喜欢,

public String toString() {
    StringBuilder gardenPrint = new StringBuilder(" | 0 1 2 3\n");
    int i, j;
    for (i = 0; i < garden.length; i++) {
        gardenPrint.append(i + " | ");
        for (j = 0; j < garden.length; j++)
            gardenPrint.append(garden[i][j] + " " + ((j == garden.length - 1) ? "\n" : ""));
    }
    return gardenPrint.toString();
}

但是,我们可以通过多种方式实现这一目标。例如,

public String toString() {
    StringBuilder gardenPrint = new StringBuilder(" | 0 1 2 3") //
            .append(System.lineSeparator());
    for (int i = 0; i < garden.length; i++) {
        gardenPrint.append(i + " |");
        for (char ch : garden[i]) {
            gardenPrint.append(" ").append(ch);
        }
        gardenPrint.append(System.lineSeparator());
    }
    return gardenPrint.toString();
}

答案 1 :(得分:0)

在Java中,可以使用以下两种方式将char数组转换为String:-

public class CharArrayToString {

    public static void main(String[] args) {

        char[] chArr = new char[]{'1', '2', '3', 'A', 'B', 'C'};

        String str1 = new String(chArr);
        System.out.println("1st String: " + str1);

        String str2;
        str2 = String.valueOf(chArr);
        System.out.println("2nd String: " + str2);

    }

}

输出

第一个字符串:123ABC

第二个字符串:123ABC