Игра в угадайку с проверкой ввода целых чисел и отображением количества правильных угаданных ответов Java

#java #validation #random #integer

#java #проверка #Случайный #целое число

Вопрос:

Я создаю игру в угадайку в кости. в программе 5 бросков кубика. Я реализовал hasNextInt(), поскольку это единственное, что я могу понять на данный момент.

  1. Когда я ввожу что-то, что не является Int, оно выходит из кода, но я хочу, чтобы программа продолжалась до конца (из 5).
  2. Кроме того, если пользователь угадывает правильно, я должен отслеживать, сколько они получают правильно.
  3. Если они угадали неправильно, я дал им знать, каким был бросок кубика, это продолжает возвращать первый неправильный бросок кубика за пять ходов.
  4. В конце я сообщил игроку, сколько они получили из 5.

Пока это мой код

 import java.util.Scanner;

public class Attempt11
{
    public static void main(String args[]) {
        int attempt = 1;
        int userGuessNumber = 0;
        int secretNumber = (int) (Math.random() * 6)   1;
        Scanner userInput = new Scanner(System.in);
        System.out.println("Guess the next dice throw (1-6)");

        do {
            if (userInput.hasNextInt()) {
                userGuessNumber = userInput.nextInt();

                if (userGuessNumber == secretNumber) {
                    System.out.println("Congratulations you guessed right");
                    continue;
                } else if (userGuessNumber < 1) {
                    System.out.println("Number must be between 1 and 6 inclusive, please try again ");
                } else if (userGuessNumber > 6) {
                    System.out.println("Number must be between 1 and 6 inclusive, please try again ");
                } else if (userGuessNumber > secretNumber) {
                    System.out.println("Hard luck the last throw was "   secretNumber);

                } else if (userGuessNumber < secretNumber) {
                    System.out.println("Hard luck the last throw was "   secretNumber);
                }
                if (attempt == 5) {
                    System.out.println("You have exceeded the maximum attempt. Try Again");
                    break;
                }
                attempt  ;
            } else {
                System.out.println("Enter a Valid Integer Number");
                break;
            }
        } while (userGuessNumber != secretNumber);
        userInput.close();
    }
}
  

Комментарии:

1. Я не вижу здесь вопроса, больше похожего на список требований

2. Мой первый вопрос: как мне заставить программу не выходить из кода, когда вводится что-то, что не является целым числом?

3. Мой второй вопрос: как мне отслеживать, сколько пользователь получил из 5