猜谜游戏 0-100 java

guessing game 0-100 java

我有一个代码需要设置为 0-100,并且有可能将零作为正确答案。我已将最终整数设置为 MAX(100)/MIN(0)。但 0 永远不是正确答案。我有 4 年的编码经验和 2 年的 Java 经验,但似乎任何问题 1-100 或 1- 任何其他 MAX 都很好。如果不允许选择 0,请提供帮助或解释。

import java.util.Random;
import java.util.Scanner;

public class GuessingGame {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        Random generator = new Random();

        int MIN = 0;
        int MAX = 100;
        int answer;
        int guess;
        String another = "y";
        boolean flag = false;
        boolean anotherFlag = true;

        while(anotherFlag){
            answer = generator.nextInt(MAX) + 1;

            System.out.println("I'm thinkin of a number between 0 and " + MAX );
            System.out.println("Can you guess what it is? \n");
            flag = false;
            while(!flag) {
                guess = scan.nextInt();

                if(guess == answer){
                    System.out.println("You guessed correctly");
                    flag = true;

                } else{
                    System.out.println("That was wrong, try again.");
                }
            }

            System.out.println("Want to Play again?(y/n)");
            another = scan.next();

            if(another.equalsIgnoreCase("y") == true){
                anotherFlag = true;
            } else{
                anotherFlag = false;
            }
        }

感谢您的帮助。

看来问题出在

    answer = generator.nextInt(MAX) + 1;

您的答案范围是 1 - MAX。

如果你想生成一个介于 0 - MAX 之间的随机数,其中 MAX = 100。你应该写-

    answer = generator.nextInt(MAX+1);

因为根据 Java API (java v8),

    public int nextInt(int bound)

returns 0(含)和指定值(不含)之间的伪随机、均匀分布的 int 值