You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中打印3×3零网格?当前输出异常求助

问题描述

尝试打印一个3×3的零网格,但当前输出是第一列有9行零——示例输出表现为每行仅显示单个带边框的零,垂直排列成9行。

现有代码

public void displayBoard() {    
    for (int row = 0; row<3; row++) {
        for (int column = 0; column<3; column++) {
            System.out.println("-------");
            System.out.print("|"+ board.getCell(row, column));
            System.out.println("|");
        }   
    }       
    System.out.println("-------");
}

问题原因

问题出在列循环内的换行逻辑:

  • 每次循环列时,都会先打印分隔线并换行,接着打印单个单元格后又换行,导致每个单元格单独占一行,3行×3列的网格被拆成了9行单元格。

修正代码

public void displayBoard() {    
    // 遍历每一行
    for (int row = 0; row<3; row++) {
        // 打印当前行的顶部分隔线
        System.out.println("-------");
        // 在同一行输出当前行的所有单元格
        for (int column = 0; column<3; column++) {
            System.out.print("|" + board.getCell(row, column));
        }
        // 补全行尾竖线并换行
        System.out.println("|");
    }       
    // 打印最后一行的底部分隔线
    System.out.println("-------");
}

修正说明

  • 将分隔线打印移到行循环内部、列循环外部,确保每行仅打印一次顶部分隔线。
  • 列循环内使用print而非println,让同一行的三个单元格在同一行连续显示。
  • 列循环结束后统一打印行尾竖线并换行,完成整行输出。
  • 最后打印底部总分隔线,保证网格结构完整。

内容的提问来源于stack exchange,提问作者rookie45

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 23:01:23