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