Это моя первая публикация здесь, но здесь.
Я очень начинающий программист Java, пытающийся улучшить свои навыки в свободное время. Я пытаюсь построить игру в слова с помощью Java. Когда я запускаю программу и ввожу все правильные ответы, она работает нормально. Однако, когда я хочу проверить, что произойдет, если я введу неправильный ответ, я получаю исключение java.lang.ArrayIndexOutOfBoundsException из слова № 3 и далее. Слова 1 и 2 не имеют этой проблемы, но все другие слова имеют. Почему это происходит?
import java.util.Scanner;
public class Scramble {
public static void main(String[] args) {
final int TOTAL_WORDS = 10;
int score = 0;
Scanner input = new Scanner (System.in);
String[][] words = {
{"papel", "apple"}, // 1
{"hriac", "chair"}, // 2
{"gmraopr", "program"}, // 3
{"vdrgini", "driving"}, // 4
{"tekint", "kitten"}, // 5
{"yrapt", "party"}, // 6
{"uertfu", "future"}, // 7
{"iyrablr", "library"}, // 8
{"yoposk", "spooky"}, // 9
{"elenomda", "lemonade"} // 10
};
System.out.println("Welcome to the word scramble game! Unscramble the words to gain points. Lowercase only"
+ "please");
for (int i = 0; i < TOTAL_WORDS; i++){
System.out.print("Unscramble the word " + words[i][0] + ": ");
String answer = input.nextLine();
if (words[i][1].equals(answer)){
System.out.println("That is correct!");
score += 1;
} // End if statement
else
System.out.println("That is not correct. " + words[0][i] +
" unscrambled is " + words[i][1]);
} // End loop
System.out.println("----------------------------------");
System.out.println("You correctly unscrambled " + score + " words out of " + TOTAL_WORDS
+ " words total.");
} // End main
} // End class