首页 > 解决方案 > Java - 需要我的循环不仅在三个猜测后结束,而且还显示正确的数字

问题描述

我试图让我的循环只发生三次。因此,如果用户在第三次猜测后没有猜出正确的数字,那么循环结束,我有,但它不显示数字是什么。我需要第三次猜测后显示的数字,但不确定为什么它没有显示正确的数字。

import java.util.Scanner;


public class GuessNumberDoWhileA {
public static void main(String[] args) {
    
    //Generate random number from 1-10
    int number = (int) (Math.random()*9 + 1);
    int count = 0;
    //Auto Generated Method stub
    Scanner Input = new Scanner(System.in);
    
    //Tell the user to guess a number
    System.out.println("Guess a number between 1 and 10");
    
    //int guess = -1;
    
    //while (guess != number) {
      while (count < 3) {   
        count++;
        
        
        System.out.print("\nEnter your guess: ");
        int guess = Input.nextInt();
        
        if (guess == number)
            System.out.println("Correct the number was " + number);
        else if (guess > number)
            System.out.println("Your guess is to high try again!");
        else if (guess < number)
            System.out.println("Your guess is to low try again!");
        else 
            System.out.println("The correct number is " + number);
    }
            System.out.println("The number was " + number);

}

}

标签: javaloopswhile-loop

解决方案


您需要一个boolean可用于检查用户是否能够正确猜出数字的变量。这个布尔变量的初始值应该是false

您不需要else循环中的最后一条语句。如果用户猜对了数字,则将boolean变量设置为true并跳出循环。在循环之后,检查boolean变量是否false存在。如果是false,则表示用户无法猜到数字,因此向用户显示正确的数字。

如果用户能够猜到数字,那么if循环中的第一条语句将在控制台上打印正确的数字并跳出循环。它还将布尔变量设置为true,因此正确的数字只会在控制台上打印一次。

boolean guessed = false;
    
while (count < 3) {   
    count++;
        
    System.out.print("\nEnter your guess: ");
    int guess = Input.nextInt();
        
    if (guess == number) {
        System.out.println("Correct the number was " + number);
        guessed = true;
        break;
    }
    else if (guess > number)
        System.out.println("Your guess is to high try again!");
    else if (guess < number)
        System.out.println("Your guess is to low try again!");
}
    
if (!guessed) System.out.println("Number was: " + number);

推荐阅读