我搜索了该站点,并在另一个问题的答案中找到了部分有用的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;
}
答案 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