首页 > 解决方案 > 每个单独的行如何容纳不同数量的项目?

问题描述

这是一个锯齿状数组的程序(在 Java 中)。你能解释一下每一行吗?我无法理解这个程序实际上是如何工作的!

    int r = 5; 
    int arr[][] = new int[r][]; 
    for (int i=0; i<arr.length; i++) 
        arr[i] = new int[i+1]; 
    int count = 0; 
    for (int i=0; i<arr.length; i++) 
        for(int j=0; j<arr[i].length; j++) 
            arr[i][j] = count++; 
    System.out.println("Contents of 2D Jagged Array"); 
    for (int i=0; i<arr.length; i++) 
    { 
        for (int j=0; j<arr[i].length; j++) 
            System.out.print(arr[i][j] + " "); 
        System.out.println();


*OUTPUT*:
0 
1 2 
3 4 5 
6 7 8 9 
10 11 12 13 14 

标签: javaarraysarraylist

解决方案


此代码为每一行定义不同的列,第一次迭代将创建一列,然后是二、三和四,等等

    for (int i=0; i<arr.length; i++) 
        for(int j=0; j<arr[i].length; j++) 
            arr[i][j] = count++; 

, 并打印数组

    for (int i=0; i<arr.length; i++) { 
        for (int j=0; j<arr[i].length; j++) 
            System.out.print(arr[i][j] + " "); 
        System.out.println();
  }

推荐阅读