调试:一行末尾的额外空格 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 (' ')。