为了账号安全,请及时绑定邮箱和手机立即绑定

猜谜游戏0-100 java

猜谜游戏0-100 java

qq_遁去的一_1 2022-05-25 10:56:39
我有一个需要从 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;            }        }感谢您的帮助。
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

似乎问题出在

    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)

返回介于 0(包括)和指定值(不包括)之间的伪随机、均匀分布的 int 值


查看完整回答
反对 回复 2022-05-25
  • 1 回答
  • 0 关注
  • 46 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信