有没有办法在二维数组中存储由int元素组成的直角三角形?

时间:2014-08-11 20:50:28

标签: java arrays

当我必须在列[row] [column]中给出特定数量的元素时会出现问题,因为列始终根据该行进行更改。列的数量取决于行。例如,在第一行中需要一列,而在第二行中需要2列。我有:int [] [] Triangle = new int [lines] [?]。

1 个答案:

答案 0 :(得分:1)

在初始化时不为第二维提供数字在语法上是有效的。这是一个很好的理由;其中每个子数组的长度是不同的值。当你稍后访问它时,要小心你不要超出范围。

例如,这是一个直角三角形矩阵作为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;
    }
}

如果你知道你想要一个确定形状的直角三角形(或任何其他我认为的2d多边形),你当然希望在嵌套的arraylists或其他集合中使用2d矩阵。