首页 > 解决方案 > 具有整数输入验证和正确猜测答案数量的猜谜游戏显示 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();
    }
}

标签: javavalidationrandominteger

解决方案


推荐阅读