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

使用二维数组打印右半金字塔时出现异常0值的问题求助

问题分析与解决

你的代码核心问题是数组赋值的索引错误:内部循环中,你把递增的k值赋值给了twoD[i][i],这只会给每行的最后一个元素赋值,其他未被主动赋值的数组元素默认保留初始值0,导致输出出现大量0。

修正后的代码

public class Main {
    public static void main(String[] args) {
        int[][] twoD = new int[4][4];
        int i, j, k = 0;
        for (i = 0; i < 4; i++){
            for (j = 0; j < i + 1; j++) {
                twoD[i][j] = k; // 将列索引从i改为j,匹配当前遍历的位置
                k++;
                System.out.print(twoD[i][j] + " ");
            }
        System.out.println();
        }
    }
}

修正后输出

0 
1 2 
3 4 5 
6 7 8 9 

关键修改说明

把twoD[i][i] = k替换为twoD[i][j] = k,确保每一个被遍历到的(i,j)位置都被赋值为递增的k值,而不是仅给每行的最后一个元素赋值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 16:43:22