不明白如何解决这个问题。我需要接受座位号作为参数(座位)。然后将该座位号转换为二维数组的行列索引。
为了检查自己,我一直假设有 10 排 (0-9) 和 2 个席位每排 (0-1),并从中选择 1-20 个座位来检查数学。但是可以有任意数量的行和列。这正是我用来检查自己的。
static void isAvailable(int seat, boolean seat[][]) {
int row = 0;
int column = 0;
if (seat > 0 && seat <= (getRows() * getSeatsPerRow())){
row = (seat ) % getRows();
column = (seat - 1) % getSeatsPerRow;
seat[row][column] = false;
}
}
假设座位是这样安排的:
seatsPerRow
0 1 2 3 4 5 6
0 (1) (2) (3) (4) (5) (6) (7)
r 1 (8) (9) (10)(11)(12)(13)(14)
o 2 (15)(16)(17)(18)(19)(20)(21)
w 3 ...
s 4 ...
.
.
.
假设我想找到 11 号座位。它将是座位 [1][3]。我不明白如何将座位号转换为二维数组上的位置。