这是我的代码:
public static int[][] arraytriangle(int lines){
int[][] tri = new int[lines][];
int c = 1; // incremented number to use as filler
for (int i = 0; i < lines; i++){
for (int j = 0; j <= i; j++){
tri[i] = new int[i+1]; // defines number of columns
tri[i][j] = c;
System.out.print(c + " ");
c++; // increment counter
}
System.out.println(); // making new line
}
System.out.println(Arrays.deepToString(tri));
return tri;
Run Code Online (Sandbox Code Playgroud)
arraytriangle(3)给出:
1
2 3
4 5 6
[[1],[0,3],[0,0,6]]
所以程序正确打印(1,2,3 ...),但是当我使用deepToString时矩阵值不正确.是什么赋予了?
这个任务
tri[i] = new int[i+1];
Run Code Online (Sandbox Code Playgroud)
必须发生在外循环内部但在内循环之外.目前,您的内部循环不断重新分配tri[i],因此只保留最后一个项目deepToString.
| 归档时间: |
|
| 查看次数: |
6638 次 |
| 最近记录: |