所以,基本上我需要打印出一个2d数组作为表,并将索引“放在”它周围。
Random rnd = new Random();
int[][] array = new int[5][5];
for (int row = 0; row < array.length; row++) {
for (int col = 0; col < array[row].length; col++) {
array[row][col] = rnd.nextInt(6);
}
}
for (int row = 0; row < array.length; row++) {
for (int col = 0; col < array[row].length; col++) {
if (col < 1) {
System.out.print(row+" ");
System.out.print(" " + array[row][col] + " ");
} else {
System.out.print(" " + array[row][col] + " ");
}
}
System.out.println();
}
}
我明白了:
0 2 4 0 2 4
1 1 2 0 2 2
2 0 1 5 4 0
3 4 2 1 4 1
4 2 4 3 1 3
所以第一个(左)列是索引,我需要将另一列索引(0,1,2,3,4)放在“table”之上,并从第二列开始“计数”。像这样的东西:
0 1 2 3 4
0 2 4 0 2 4
1 1 2 0 2 2
2 0 1 5 4 0
3 4 2 1 4 1
4 2 4 3 1 3
对不起任何错误,这是我第一次问这里。
答案 0 :(得分:1)
在嵌套for循环之前进行for循环:
Random rnd = new Random();
final int COLUMNS = 5;
final int ROWS = 5;
int[][] array = new int[COLUMNS][ROWS];
for (int row = 0; row < array.length; row++) {
for (int col = 0; col < array[row].length; col++) {
array[row][col] = rnd.nextInt(6);
}
}
System.out.print(" ");
for (int row = 0; row < array.length; row++) {
System.out.print(" " + row );
}
System.out.println();
for (int row = 0; row < array.length; row++) {
for (int col = 0; col < array[row].length; col++) {
if (col < 1) {
System.out.print(row);
System.out.print(" " + array[row][col]);
} else {
System.out.print(" " + array[row][col]);
}
}
System.out.println();
}
输出:
0 1 2 3 4
0 2 3 1 0 2
1 0 1 1 5 2
2 1 0 3 3 5
3 1 4 0 5 2
4 1 0 3 3 3
答案 1 :(得分:0)
在打印表格的嵌套fors之前,你只缺少另一个,在那里先打印出一个空字符,然后需要索引。 否则,代码似乎是正确的。
System.out.print(" ");
for(int i=0;i<cols;i++){
System.out.print(" "+i+" ");
}
答案 2 :(得分:0)
您最终打印的标签尺寸比阵列大1。首先,循环数组+ 1的长度。为此,请<
条件更改<=
条件。
然后,您可以简单地识别您正在经历的不同案例:
row==0
和col==0
标识。在这种情况下,只需打印一个空格row==0
和col!=0
标识。在这种情况下,只需打印数组中的列号:col-1
col==0
和row!=0
标识。在这种情况下,只需在数组中打印行号:row-1
array[col-1][row-1]
。你应该得到这个:
for (int row = 0; row <= ROWS; row++) {
for (int col = 0; col <= COLUMNS; col++) {
if (col == 0 && row == 0) { //Top right corner
System.out.print(" ");
} else if (row == 0) { //First row
System.out.print(" " + (col-1));
} else if (col == 0) { //First column
System.out.print(" " + (row-1));
} else { //All other cases
System.out.print(" " + array[row-1][col-1]);
}
}
System.out.println();
}