Java 如何打印一个字符串,该字符串的数组中的每个元素为一行四个
这是我的密码Java 如何打印一个字符串,该字符串的数组中的每个元素为一行四个,java,arrays,methods,tostring,Java,Arrays,Methods,Tostring,这是我的密码 public String toString() { String B = A[0] + " "; for (int w = 1; w < this.A.length; w-=-1) { B += A[w] + " "; if(w % 4 == 0) B += "\n"; } return B; } 我正在为java类编写一个toString方法。该数组有52个元素 相反,我一直将其作为
public String toString() {
String B = A[0] + " ";
for (int w = 1; w < this.A.length; w-=-1) {
B += A[w] + " ";
if(w % 4 == 0)
B += "\n";
}
return B;
}
我正在为java类编写一个toString方法。该数组有52个元素
相反,我一直将其作为输出:
1S 4S 6S 2S 8S
8S 7S 3S 7S
6S 8S 5S 6S
3C 3C 1C 8C
8C 9C 4C
你所要做的就是:
String B = A[0] + " ";
for (int w = 1; w < this.A.length; w-=-1) {
if (w % 4 == 0) {
B += "\n";
}
// this line is after the check because you already added the first
// element to the string before the loop
B += A[w] + " ";
}
字符串B=A[0]+“”;
对于(int w=1;w
同样:在循环中附加到字符串
是一项昂贵的操作,因为java中的字符串是不可变的。改用StringBuilder
。阅读更多
我无法理解使用StringBuilder时的w-=-1
private static void printArray(String[] array) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < array.length; i++) {
if(i > 0 && i % 4 == 0) {
sb.append("\n");
}
sb.append(array[i]);
sb.append(" ");
}
System.out.println(sb);
}
私有静态void打印数组(字符串[]数组){
StringBuilder sb=新的StringBuilder();
for(int i=0;i0&&i%4==0){
某人附加(“\n”);
}
sb.append(数组[i]);
某人加上(“”);
}
系统输出打印LN(sb);
}
w-=-1
我是说是的,但在w
中添加一个是一种奇怪的方式。你得到了什么输出,你期望得到什么输出?为什么会出现这种奇怪的循环?为什么w
不从0开始,为什么使用w-=-1
而不是使用w++
?此代码有什么问题?不,不要在注释中添加信息。取而代之的是问题,在那里添加信息-格式正确-并且使用注释仅让我们知道您已经向问题添加了信息。注释不用于代码或格式化输出。
private static void printArray(String[] array) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < array.length; i++) {
if(i > 0 && i % 4 == 0) {
sb.append("\n");
}
sb.append(array[i]);
sb.append(" ");
}
System.out.println(sb);
}