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

如何生成指定格式的二维方阵?Java代码输出错误求排查

问题分析与修正方案

原代码存在的三个核心问题

  • 数组尺寸不符:你创建了7×7的数组new int[7][7],但需求是生成5×5的方阵,循环遍历7行7列会输出多余内容。
  • 赋值逻辑错误:当前用i+j给元素赋值,完全不符合目标方阵的数值规律。目标方阵中,每个位置(i,j)的数值是行索引与列索引的较小值加1(Java数组索引从0开始):比如第1行(i=0)所有元素都是min(0,j)+1=1,第2行(i=1)中j=0时为min(1,0)+1=1,j≥1时为min(1,j)+1=2,以此类推。
  • 多余空行:代码开头的System.out.println();会先输出一个空行,导致结果排版混乱。

修正后的代码

public class Main
{
    public static void main(String[] args) {
        // 创建符合需求的5×5数组
        int[][] nowatablica = new int[5][5];
        for (int i = 0; i < nowatablica.length; i++) {
            for (int j = 0; j < nowatablica[i].length; j++) {
                // 核心逻辑:取i和j的较小值加1,匹配目标方阵规律
                nowatablica[i][j] = Math.min(i, j) + 1;
                System.out.print(nowatablica[i][j] + " ");
            }
            System.out.println();
        }
    }
}

修正说明

  1. 将数组尺寸改为5×5,确保生成的是需求中的方阵大小;
  2. 用Math.min(i, j) + 1实现目标数值的生成逻辑,完全匹配你要的方阵样式;
  3. 移除了多余的开头空行输出,排版更整洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 03:20:30