ヌメロンという3桁の数字を当てるゲームを作っています。
Java
1public class Gamesystem{ 2 public static void main(String[] args){ 3 int[] answer = {5,8,3}; int[] predict = {3,8,6}; //answer配列とpredict配列を生成 4 int bite = 0,eat = 0; 5 for(int a: predict){ 6 if(predict[a] == answer[a]){ //predict配列をまわしてanswer配列に使用されてる数字と位置を重複しているかチェック 7 eat++; 8 for(int b: answer){ 9 if(predict[a] == answer[b]){ //同じくanswer配列をまわして使用されてる数字が重複しているかチェック 10 bite++; 11 } 12 } 13 } 14 } 15 System.out.println(bite+"BITE-"+eat+"EAT"); 16 } 17}
コンパイルは成功したのですが実行時に
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at Gamesystem.main(Gamesystem.java:6)
と出て6行目の配列に何か問題がある、ということまでは分かったのですが、6行目に使っている2つの配列のインデックスaは5行目の拡張for文の変数なのでインデックスに問題は無いように思ったのですがどこがおかしくなっているのでしょうか?
使われている数字を当てた数だけ~BITE、さらに桁数も当てると~EATと表示したいです。
なのでこのプログラムでは実行時に「2BITE-1EAT」と表示できればいいのですが・・・・・
回答よろしくお願いします!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/03 15:02