穆穆青风至
2021-09-30 16:01
采纳率: 98%
浏览 65
已结题

java给一个二维数组赋值,不明白哪里出问题了

为啥输出的全是20,21,20,21,20,21,看不出哪里覆盖了啥,我准备输入的是0,1,10,11,20,21

        int[][] a=new int[3][2];
        int[] b=new int[2];
        for (int i=0;i<3;i++){
            for (int j=0;j<2;j++){
                b[j]=i*10+j;
            }
            a[i]=b;
        }

就是准备通过b给a赋值的

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

4条回答 默认 最新

  • zlebhs 2021-09-30 16:06
    最佳回答

    你每次都在更新这个b数组里的值,自然a里面就都是[20, 21](因为最后b会变成[20, 21])了,你的a里面其实是这样的[b, b, b],而你想要的结果是这样的[b1, b2, b3],因此把b放第一个for循环里。

    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题