public String toString()
{
String s = "";
s += String.format("%02d" ,board[][] + " ");
s += "/n" +"/n" + "The knight made" + (moves) + "moves";
return s;
}
我不知道为什么,但我一直收到错误.class 'expected'
。这是什么意思,我该如何解决?
答案 0 :(得分:7)
您的代码有三个错误和效率低下。
第一个错误是您尝试在单个语句中打印2D数组。你不能这样做 - 你需要两个嵌套循环:
for (int r = 0; r != maxRow ; r++) {
for (int c = 0; c != maxCol ; c++) {
// Do the construction of the string here.
// Refer to board[r][c] instead of board[][]
}
}
第二个错误是"/n"
不是换行符:你需要反斜杠。
第三个错误是您尝试使用%d
格式打印字符串:您应该使用board[r][c]
而不使用+ " "
,并将空格放在格式字符串中:< / p>
String.format("%02d " ,board[r][c])
效率低下的是您正在使用循环中调用的连接构造结果字符串。这会创建大量临时对象。你应该StringBuilder
上课。