A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liyudong 中级黑马   /  2016-11-4 20:45  /  875 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5.
class Demo {
        public static void main(String[] args) {
                int[][] arr = new int[4][];
int num = 1;
for (int i=0; i<arr.length; i++) {
arr[i] = new int[i+1];
for (int j=0; j<arr[i].length; j++) {
arr[i][j] = num++;
System.out.print(arr[i][j]);
}
System.out.println();
}
        }
}
答案:1
      23
      456
      78910
谁能解释下这段代码什么意思?

3 个回复

倒序浏览
将arr[i]=new int[i+1]; 理解为二维数组arr的一维i号角标数组设置为i+1个。相当于逐层定义二维数组。后面应该好了。arr[0]的二维数组有一个元素,即new arr[1][1]。arr[1]的二维数组有两个元素即new arr[2][2]............类推
回复 使用道具 举报
cobblerime 发表于 2016-11-4 22:36
将arr=new int; 理解为二维数组arr的一维i号角标数组设置为i+1个。相当于逐层定义二维数组。后面应该好了。 ...

谢谢,谢谢,非常感谢,昨天不明白今天明白了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
cobblerime 发表于 2016-11-4 22:36
将arr=new int; 理解为二维数组arr的一维i号角标数组设置为i+1个。相当于逐层定义二维数组。后面应该好了。 ...

还是你解释得好,thanks,今天已理解
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马