调试:一行末尾的额外空格 JAVA
Debugging: Extra whitespaces at the end of a row JAVA
我正在打印数独板的 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;
}
当您在每行末尾获得额外的 space 时,给出一个条件 while 在添加它时阻止最后一个 space。
这是示例代码
public static String toString1() {
String sudokuString = "";
int row;
int col;
int[][] ar = new int[9][9];
int counter = 0;
for(int i=0; i<9; i++) {
for(int j=0; j<9; j++) ar[i][j] = (i+j) * ++counter;
}
for (row = 0; row < 9; row++) {
for (col = 0; col < 9; col++) {
sudokuString += String.valueOf(ar[row][col]);
if(col != 8) sudokuString += "," ; // add " " instead of ","
}
if (row < 8) {
sudokuString += "\n";
}
}
return sudokuString;
}
为了更好地理解,我使用了 ',' 而不是 space (' ')。
我正在打印数独板的 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;
}
当您在每行末尾获得额外的 space 时,给出一个条件 while 在添加它时阻止最后一个 space。
这是示例代码
public static String toString1() {
String sudokuString = "";
int row;
int col;
int[][] ar = new int[9][9];
int counter = 0;
for(int i=0; i<9; i++) {
for(int j=0; j<9; j++) ar[i][j] = (i+j) * ++counter;
}
for (row = 0; row < 9; row++) {
for (col = 0; col < 9; col++) {
sudokuString += String.valueOf(ar[row][col]);
if(col != 8) sudokuString += "," ; // add " " instead of ","
}
if (row < 8) {
sudokuString += "\n";
}
}
return sudokuString;
}
为了更好地理解,我使用了 ',' 而不是 space (' ')。