Ошибка при сканировании input

144
13 марта 2018, 02:37

Создаю не большой проект, задумка такая: есть список фильмов, случайным образом выбирается один фильм из списка и каждая буква закрывается знаком "_" Пользователю показывается скрытое название и он начинает угадывать зашифрованное слово по одной букве, как в "поле чудес" почти) Застрял на том моменте когда нужно считывать информацию введенную пользователем.

 public static void main(String[] args) throws FileNotFoundException {
    File file = new File("name.txt");
    Scanner scanner = new Scanner(file);
    Random random = new Random();
    String[] arr = {"the shawshank redemption", "the godfather", "the dark knight", "schindler's list", "pulp fiction", "the lord of the rings", "the good the bad and the ugly", "fight club", "the lord of the rings", "forrest gump", "star wars", "inception", "the lord of the rings", "the matrix", "samurai", "star wars", "city of god", "the silence of the lambs", "batman begins", "die hard", "chinatown", "room", "dunkirk", "fargo", "no country for old men"};
    // randomly select an index from the arr
    int select = random.nextInt(arr.length);
    // prints out a value of a randomly selected index
    System.out.println(arr[select]);
    // replacing characters by underscore
    String _result = arr[select];
    _result = _result.replaceAll("[a-z]", "_"); // replace each letter with _
    System.out.println(_result);
    Scanner scannerinput = new Scanner(System.in);
    for (int i = 10; i > 0; i--){
        System.out.println("Tou have " + i + " attempts. Keep going.");
        int guess = scannerinput.nextInt();
        // работает до этого места
        if (arr[select].equals(guess)) {
            System.out.println("+");
        }
    }
}

В моем понимании в этот момент введя букву, которая совпадает с названием фильма система должна вывести "+" и я пойму что нигде не ошибся)) Но ошибка вылазит такая:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Main.main(Main.java:26)

Как правильно отобразить в коде момент угадывания не всего слова, а только проверку каждого символа?

READ ALSO
NullPointerException и EditText

NullPointerException и EditText

Великая java требует от меня, что бы переменные name, number, data были final, но если их сделать final, то текст с edittext еще не будет получен и я схвачу NullPointerException,...

146
Как прочесть значение из JSON на Java?

Как прочесть значение из JSON на Java?

Как извлечь в переменную типа int число 2 из JSON-ответа на языке JAVA ? (вместо 2 может быть любое многозначное число)

227
Вопрос про авторизацию FireBase

Вопрос про авторизацию FireBase

Мне нужно сделать авторизацию по номеру телефонаВ принципе с задачей я уже справился следующим образом:

181