Java 如何获得随机生成的猜测

Java 如何获得随机生成的猜测,java,Java,我对Java还是有点陌生,有一个实验室需要模拟一个彩票游戏,该游戏生成一个介于1到10之间的数字。它首先询问用户希望购买多少张彩票,然后询问他们是否希望计算机为他们生成猜测,如果是,则将生成猜测并显示中奖号码。如果用户说不,那么用户将自己输入猜测并显示中奖号码 当有人输入yes或no时,我在计算如何执行代码时遇到问题。我应该执行do while循环吗 这是我现在的代码 public static void main(String[] args) { Scanner input = ne

我对Java还是有点陌生,有一个实验室需要模拟一个彩票游戏,该游戏生成一个介于1到10之间的数字。它首先询问用户希望购买多少张彩票,然后询问他们是否希望计算机为他们生成猜测,如果是,则将生成猜测并显示中奖号码。如果用户说不,那么用户将自己输入猜测并显示中奖号码

当有人输入yes或no时,我在计算如何执行代码时遇到问题。我应该执行do while循环吗

这是我现在的代码

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);


    double TICKET_PRICE = 2.00;

    System.out.println("Welcome to the State of Florida Play10 Lottery Game. Ticket Price: $" + TICKET_PRICE);

    System.out.println("How many tickets would you like to purchase?");
    int ticketsPurchased = input.nextInt();

    System.out.print("Please enter " + (ticketsPurchased) + " to confirm your credit carde charge: ");
    int creditCardCharge = input.nextInt();

    if (ticketsPurchased != creditCardCharge) {
        System.out.println("Wrong number, please enter again: ");
        return;
    }
    if (ticketsPurchased == creditCardCharge) {
        System.out.println("Thank you. Your credit card will be charged $" + (ticketsPurchased * 2));
    }
    int min = 1;
    int max = 10;
    int winner;
    winner = min + (int)(Math.random() * ((max - min) + 1));



    System.out.print("Would you like the computer to generate your guesses? Enter 'Y' or 'N': ");
    String computerGeneratedGuess = input.nextLine();

    int guess = 0;
    int winCtr = 0;
    String output = "";
}
以下是算法: 1.获取要购买的门票数量, 计算并确认信用卡费用。 2.生成随机获胜整数和 生成随机猜测或提示 用户的猜测。 3.报告中奖号码,中奖号码 门票、总奖金、总损失和 允许扣除额

这是实验室本身:

通常,布尔值可以方便地控制这样的循环。比如:

boolean gameOver = false;
int theGuess = 0;
while (!gameOver) {
    if (computerGeneratedGuess == 'Y') {
        theGuess = //code to generate a random number
    }
    else {
        theGuess = //code to for user to enter a guess
    }
    if (theGuess == winner) {
        gameOver = true;
}

好吧,你需要一个循环来处理多张票证,但是他们是想要自动生成的还是提供的号码与此无关。是/否部分可以是
if
。如果他们想提供,请提示他们;如果不是,则生成它们。是的,每次您要求用户键入内容时,您都应该验证他们输入的内容是否有效,如果无效,则让他们重新输入(使用适当的消息)。即使是
nextInt()
也是不够的——毕竟,很好,他们输入了一个int,但是如果他们输入了“0”、一个大数字或一个负整数呢。所有这些都应该引起重新提示(因此,事实上,提示输入一个整数并在不正确的情况下使用错误循环,这将是项目中经常重复的一段代码;)