我正在做一个作业,我必须打印一个类似于座位表的二维数组。每个元素都有一个数字,当您遍历数组时,数字会增加,并且在中间没有人能坐的地方也有一个“过道”。下面是数组的外观。
1 2 3 x 4 5 6
7 8 9 x 10 11 12
13 14 15 x 16 17 18
19 20 21 x 22 23 24
这将一直持续到总共有48个席位。这将使其具有8行和7列。
目前,我的代码是错误的。我试图制作将xs替换为代码第四列的代码,但这没有用。到目前为止,这是我的代码。我的代码在运行时只显示0。
public class airplane {
public static void main(String[] args) {
int[] rows = new int[8];
int[] columns = new int[7];
int[][] chart = new int[rows.length][columns.length];
for(int j = 0; j < rows.length; j++)
{
for(int k = 0; k < columns.length; k++)
{
if(columns.length == 4)
{
chart[j][k] = 'x';
}
System.out.print(chart[j][k] + " ");
}
System.out.println();
}
}
}
如果代码错误,我深表歉意。我没有经验,我现在没有太多帮助。
可以通过以下2个for循环来完成,其中第一个循环逐列迭代,第二个循环逐行迭代
public class Print2DArray {
public static void main(String[] args) {
int seatNo = 1;
int row = 8; // set row count
int column = 7; // set column count
int[][] print2DArray = new int[row][column]; // init your 2d seat matrix
for (int i = 0; i < print2DArray.length; i++) {
for (int j = 0; j < print2DArray[i].length/2; j++) {
System.out.print(seatNo++ + " ");
// System.out.print(print2DArray[i][j]++ + " "); // You can use this line to print the value on the current position in the array position
}
System.out.print("x ");
for (int j = 0; j < print2DArray[i].length/2; j++) {
System.out.print(seatNo++ + " ");
// System.out.print(print2DArray[i][j]++ + " "); // You can use this line to print the value on the current position in the array position
}
System.out.println();
}
}
}