首页 > 解决方案 > 如何将字符数组中的字符添加到Java中的字符串

问题描述

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

你能建议一个更好更简单的方法来做到这一点吗?我说简单,因为这样的事情有可能在决赛中出现,我希望能够记住它。如果它对我作为初级程序员来说是“异国情调”,我可能不会。

我参加了 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;
}

标签: java

解决方案


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();
}

推荐阅读