【发布时间】:2026-01-12 08:10:02
【问题描述】:
我正在打印数独板的 9 x 9 网格线结构,并且在每行的末尾有两个空格 - 我确实希望在中间有两个空格,但不是在末尾。例如,我现在的输出是:
“2 5 3 6 7 9 1 8 4”
当我在寻找时:
“2 5 3 6 7 9 1 8 4”
我尝试通过第二个 for 循环中的 if 子句来解决它。提前谢谢!
public String toString() {
String sudokuString = "";
int row;
int col;
for (row=0; row < 9; row++) {
LinearNode<Integer> element = board[row];
element = element.getNext();
sudokuString+= element.getElement() + " ";
element = element.getNext();
for (col=0; col < 9; col++) {
while (element != null) {
sudokuString += element.getElement();
element = element.getNext();
if (col<8) {
sudokuString += " ";
}
}
}
if (row < 8) {
sudokuString += "\n";
}
}
return sudokuString;
}
【问题讨论】:
-
可以使用substring()方法去掉末尾的最后两个空格。
-
我尝试通过第二个for循环中的if子句来解决。然后呢?
-
@DavidLee 感谢您的回复!我尝试在 if 语句上方和 if 语句下都实现它,但它似乎不适用于我的字符串。我用 sudokuString.substring(24); 24 包括所有数字和中间的双空格
-
您的原始代码和带有 substring() 的代码得到了哪些结果字符串?
-
@DavidLee 结果是一样的,所以两者都是“2 5 3 6 7 9 1 8 4”
标签: java string debugging formatting whitespace