答案 0 :(得分:2)
如果您希望矩阵以图片的方式填充,请使用索引(demo)进行一些操作:
int last = matrix.length-1;
for(int i=0; i < matrix.length; i++ )
matrix[i][last-i] = last-i;
通过从最后一行开始打印矩阵的行,可以实现相同的输出。
答案 1 :(得分:0)
只有当它是方形二维数组时才会起作用, 并且仅填充一个对角线(左上角到右下角)。
答案 2 :(得分:0)
这有点乱,但你需要的是:
public static void main(String[] args) throws IOException {
int n = 5; // dimension of the array
int[][] matrix = new int[n][n];
int count = matrix[0].length - 1;
int xcurr = 0;
int ycurr = count;
for(int x=0; x < matrix[0].length; x++) {
for (int y=0; y < matrix[0].length; y++) {
if (x == xcurr && y == ycurr) {
matrix[x][y] = count;
ycurr --;
xcurr ++;
count --;
} else {
matrix[x][y] = 0;
}
}
}
for(int i=0; i < matrix.length; i++) {
System.err.println(Arrays.toString(matrix[i]));
}
}
答案 3 :(得分:0)
可以通过多种方式完成,这里有一个:
// Initializing the array
int[] array =
{
0, 0, 0, 0, 4,
0, 0, 0, 3, 0,
0, 0, 2, 0, 0,
0, 1, 0, 0, 0,
0, 0, 0, 0, 0
};
// Iteration of the loop for printing
for (int i = 0; i < array.length; i++) {
if (i % 5 != 0) // while is not divisible with 5
{
System.out.print(array[i]);
System.out.print(" "); // Spaces between numbers
} else // Makes new line for every fifth iteration
{
System.out.println();
}
}
我希望从评论中有意义。