【问题标题】:Debugging: Extra whitespaces at the end of a row JAVA调试:行末尾的额外空格 JAVA
【发布时间】: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


【解决方案1】:

当您在每行的末尾获得额外的空间时,请在添加最后一个空间时给出一个条件来阻止它。

这里是示例代码

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;
}

为了更好地理解,我使用了 ',' 而不是空格 (' ')。

【讨论】:

    最近更新 更多