Java 我如何在数字猜测游戏中增加猜测次数的限制?

Java 我如何在数字猜测游戏中增加猜测次数的限制?,java,Java,我不知道如何在我的数字猜测游戏中增加猜测次数的限制。我曾尝试在while语句之后添加for语句,但这使得代码在第十次猜测时停止,而且从来没有赢家。我删除了while语句,只做了for语句,确保用户每猜九次就得到正确答案。按照教授的要求,我的代码分为两类。我包括以下两项。我将非常感激能得到的一切帮助。谢谢大家! GuessingGame.java:主类 公共类猜谜游戏{ 公共静态void main(字符串[]args){ 新猜想().doGuess(); } } Guess.java class

我不知道如何在我的数字猜测游戏中增加猜测次数的限制。我曾尝试在while语句之后添加for语句,但这使得代码在第十次猜测时停止,而且从来没有赢家。我删除了while语句,只做了for语句,确保用户每猜九次就得到正确答案。按照教授的要求,我的代码分为两类。我包括以下两项。我将非常感激能得到的一切帮助。谢谢大家!

GuessingGame.java:主类

公共类猜谜游戏{
公共静态void main(字符串[]args){
新猜想().doGuess();
}
}
Guess.java

class Guess {
    private int answer = 0;
    int tries = 0;
    Scanner input = new Scanner(System.in);
    int guess, i;
    boolean win = false;
    int amount = 10;
    
    public Guess() {
        answer = generateRandomNumber();
    }

    //Generate a private number between 1 and a thousand
    private int generateRandomNumber() {
        Random rand = new Random();
        return rand.nextInt(1000) + 1;
    }

    public void doGuess() {
        while(!win) {
            System.out.println("You are limited to ten attempts."
                    + "Guess a number between 1 and 1000: ");
            guess = input.nextInt();
            if (guess > 1000 ) {
                System.out.println("Your guess is out of the range!");
            } else if (guess < 1) {
                System.out.println("Your guess is out of the range!");
            } else if (guess == answer) {
                win = true;
                tries++;
            } else if (guess < answer && i != amount -1) {
                System.out.println("Your guess is too low!");
                tries++;
            } else if (guess > answer && i != amount -1) {
                System.out.println("Your guess is too high!");
                tries++;
            }
        }
        System.out.println("Congragulations! You guessed the number!"
                + "The number was: " +answer);
        System.out.println("It took you " + tries + " tries");
    }
}
类猜测{
私有int-answer=0;
int=0;
扫描仪输入=新扫描仪(System.in);
我猜是吧;
布尔赢=假;
整数金额=10;
公众猜测{
答案=GeneratorDomainNumber();
}
//生成一个介于1和1000之间的私人号码
私有int-generateRandomNumber(){
Random rand=新的Random();
返回兰特nextInt(1000)+1;
}
公屋{
而(!赢){
System.out.println(“您只能尝试十次。”
+“猜一个介于1和1000之间的数字:”;
guess=input.nextInt();
如果(猜测>1000){
System.out.println(“您的猜测超出范围!”);
}else if(猜测<1){
System.out.println(“您的猜测超出范围!”);
}else if(猜测==答案){
赢=真;
尝试++;
}else if(猜测回答&&i!=金额-1){
System.out.println(“你的猜测太高了!”);
尝试++;
}
}
System.out.println(“恭喜!你猜对数字了!”
+电话号码是:“+回答”;
System.out.println(“它花费了你”+尝试+“尝试”);
}
}

您可以在while循环中添加if语句

 public void doGuess() {
           while(!win) {
            System.out.println("You are limited to ten attempts."
                    + "Guess a number between 1 and 1000: ");
            guess = input.nextInt();
            if(tries > 9) {
              ...whatever you want to happen when user has reached 10 guesses...
            }