私はJavaでゲームのいくつかのメソッドを書く必要があり、そのうちの1つはint [] findStoneです。このメソッドは配列を返します。これは検索している要素の座標を返します。Javaで要素位置の配列を見つける
The field looks like thisこのように定義される:私はこの方法を使用する場合private static int[][] gamefield = new int[8][6];
だから:findStone(3)[0]、それは0を返すべきX座標とfindStone(3)1、2。これは、コードであります私が書きました。
private static int[] findStone(int stone) {
int[] position = new int[2];
for(int x = 0; x < 8; x++){
for(int y = 0; y < 6; y++) {
int a = gamefield[x][y];
int i = x;
int j = y;
if(a == stone) {
position[0] = i;
position[1] = j;
}
break;
}
}
return position;
}
問題がある:メソッドが唯一のそれは私が0誰かが私が間違っていたものを私に説明してもらえ示し、他の要素に対して、corectly最初の行のx座標を返し、私は変更すべきか?簡単な説明だけをお願いします。私は冒頭にいるだけで、Javaでの経験はありません。 ありがとうございました:)
yループのためにbreakを使うので、それは単なる1回だけ実行されます。 –
達成しようとしていることをクリアすることはできますか? –
間違った場所で 'break'のほかに、同時に両方のループから抜け出すべきです、あるいはあなたのコードは残りのx値(少なくともCPUの浪費である)のために使い続けます:[break with label] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html)(そのページの下半分)、または「位置を返す」ことを検討してください。 – zapl