私は、ほとんど連続した整数の2次元配列を持っています。私は、ユーザーの整数入力を取って、ユーザーの入力よりも小さい整数のインデックスを探したいと思います。Java - 2次元配列のインデックスを見つける
私は手動で配列の最初の2つの列を宣言し、残りの12の列は別の配列からランダムに割り当てられた整数です。
public static int[][] board = new int[4][14];
public static int[][] deal(int[] cards) {
board[0][0] = 1;
board[0][1] = 0;
board[1][0] = 14;
board[1][1] =0;
board[2][0] = 27;
board[2][1] = 0;
board[3][0] = 40;
board[3][1] = 0;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 12; j++) {
board[i][j + 2] = cards[j + (i * 12)];
}
} return board;
}
Iユーザーの入力より小さい方の整数を探ししようと(同じ行に)以下の整数が0の場合、0とユーザの入力を交換しています。 配列に関数indexOfが組み込まれていないことを認識します。次のコードは実行されません。
public static int[][] move(int[][] board) {
int input;
int place =0;
if(board.indexOf(input-1) +1 == 0){
place =board.indexOf(input);
board.indexOf(input) = 0;
board.indexOf(input-1) +1 = place;
}
return board;
}
行の最後の要素はどうなりますか? – shmosel
@shmosel入力または入力-1を意味しますか?入力-1の後に0がないので、if文よりも入力-1を意味する場合はfalseにする必要があります。 – user8735495
「スワップ」と言えば、交換する前に値をキャプチャしたいのですか? – shmosel