これを解決する方法がわかりません。パラメータ(座席)として座席番号を受け入れる必要があります。次に、その座席番号を2次元配列の行と列のインデックスに変換します。
自分自身をチェックするために、私は10行(0-9)と2シートPerRow(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]になります。座席番号を2次元配列の位置に変換する方法がわかりません。