无法理解这个特定的程序

时间:2014-11-02 15:20:11

标签: java

我发现很难理解这个程序代码中发生了什么。 请帮忙。 感谢

public class ArrayTriangle
{ 
    public static void main( String[] args )
    {
        int[][] triangle = new int[10][];
        for ( int j = 0; j<triangle.length ; j++ )

            triangle[ j ] = new int[ j + 1 ];         /*Please explain me this line*/
    }
}   

2 个答案:

答案 0 :(得分:2)

正在创建一个数组数组,就像这样

triangle[ 0 ] = new int[ 1 ];
triangle[ 1 ] = new int[ 2 ];
triangle[ 2 ] = new int[ 3 ];
...

答案 1 :(得分:1)

您正在创建二维数组

triangle[0] = new int[1];
triangle[1] = new int[2];
triangle[2] = new int[3];

你可以使用一个二维数组,第0个元素的大小为1,第一个是2,依此类推。

如果您打印明显为三角形的数组,则为输出。

for (int j = 0; j < triangle.length; j++){
        for(int k = 0; k < triangle[j].length ; k++){
            System.out.print(triangle[j][k]);
        }

        System.out.println("");
    }

使用上面的代码段来查看打印三角形。

[[0], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]