Java 创建一个生成随机数的类

Java 创建一个生成随机数的类,java,if-statement,while-loop,nested-loops,Java,If Statement,While Loop,Nested Loops,我的任务是从1和10中生成一个随机数,用户猜测该数字,根据过高或过低,将再次猜测。当正确猜测数字时,它将显示猜测它花费了X次。与其让别人为我做这一切,不如给我一个解释,这样我将来就能帮助自己了。我希望我已经展示了下面还需要做什么。谢谢 import java.security.SecureRandom; import java.util.Scanner; public class GuessTheNumber { private SecureRandom randomNumber =

我的任务是从1和10中生成一个随机数,用户猜测该数字,根据过高或过低,将再次猜测。当正确猜测数字时,它将显示猜测它花费了X次。与其让别人为我做这一切,不如给我一个解释,这样我将来就能帮助自己了。我希望我已经展示了下面还需要做什么。谢谢

import java.security.SecureRandom;
import java.util.Scanner;

public class GuessTheNumber {
    private SecureRandom randomNumber = new SecureRandom();
    private Scanner input = new Scanner(System.in);
    private int numberOfGuesses;

    public void play() {
        int theNumber = 1 + randomNumber.nextInt(10);
        numberOfGuesses = 0;

        int guess = askForGuess();

        //see if their guess is correct, I know a Boolean is needed somewhere here. 
        //otherwise call askForGuess() again, also If and While statements. 

            System.out.printf("You guessed correctly in %d times%n", numberOfGuesses);
    }

    private int askForGuess() {
        numberOfGuesses++;
        int guess = 0;

        //ask for the guess
        //make sure the guess is valid

        return guess;
    }
}

import java.util.Scanner;

public class GuessTheNumberTest {

    public static void main(String [] args) {
        Scanner scanner = new Scanner(System.in);
        GuessTheNumber game = new GuessTheNumber();
        int playAgain;

        do {
            game.play();
            System.out.println("Play again? 1-yes, 0-no");
            playAgain = scanner.nextInt();
        } while(playAgain == 1);
    }

}

您应该尝试接受来自用户的输入,直到userinput与随机生成的数字匹配为止。还要不断增加NumberOfGuess的计数。当用户输入与随机数匹配时,返回猜测数并打印它。 您可能正在寻找以下内容:

private int askForGuess(int theNumber) {

        int guessed = in.nextInt();
        numberOfGuesses = 1;
        while(guessed != thetheNumber )
        {
            guessed = in.nextInt();
            numberOfGuesses++;
        }
       return numberOfGuesses;
    }

注意:您可能希望将theNumber变量设置为全局变量,或者将ti传递给askForGuess()函数

非常感谢。我试试看。