Java 有没有一种方法可以在二维数组中存储由元素组成的直角三角形?

Java 有没有一种方法可以在二维数组中存储由元素组成的直角三角形?,java,arrays,Java,Arrays,当我必须在列部分[rows][column]中指定特定数量的元素时,问题就出现了,因为列总是根据行而变化。列数取决于行数。例如,第一行需要一列,第二行需要两列。我得到了:int[][]Triangle=new int[lines][?]。从语法上讲,在初始化时不为第二维度提供数字是有效的。这是一个很好的理由;其中,每个子数组的长度是不同的值。不过,在以后访问它时,请小心不要越界 例如,这里有一个直角三角形角度矩阵,作为10x10直角三角形: int[][] triangle = new int[

当我必须在列部分[rows][column]中指定特定数量的元素时,问题就出现了,因为列总是根据行而变化。列数取决于行数。例如,第一行需要一列,第二行需要两列。我得到了:int[][]Triangle=new int[lines][?]。

从语法上讲,在初始化时不为第二维度提供数字是有效的。这是一个很好的理由;其中,每个子数组的长度是不同的值。不过,在以后访问它时,请小心不要越界

例如,这里有一个直角三角形角度矩阵,作为10x10直角三角形:

int[][] triangle = new int[10][];
for(int i = 0; i < triangle.length; i++){
    triangle[i] = new int[i+1];
    for(int j = 0; j < triangle[i].length; j++){
        triangle[i][j] = j;
    }
}
int[][]三角形=新int[10][];
对于(int i=0;i

如果你知道你想要一个确定形状的直角三角形(或者我想是任何其他二维多边形),你当然想在嵌套的ArrayList或其他集合上使用二维矩阵。

ArrayList数组怎么样。每个“行”都是一个ArrayList,可以根据需要独立于其他行进行增长。2d array有哪些问题?谢谢。请注意,我为第一个数组设置了I+1,因此第I个数组(基于0)的长度为I+1。根据您在三角形中使用0行索引的方式,您可能希望将其更改为i。