gpt4 book ai didi

java - 需要有关最小和最大函数的帮助吗?

转载 作者:行者123 更新时间:2023-12-01 04:49:31 25 4
gpt4 key购买 nike

我有一个数字猜测游戏应用程序,用户必须猜测 0 到 100 之间的数字,当他们猜对时,程序会询问他们是否愿意在完成游戏后再次玩我在中显示最少的猜测数一场比赛以及一场比赛中猜测的最大次数。现在我得到的只是他们在使用“Math.min(,)”时的所有猜测的总和?如何让最小功能发挥作用???函数代码在下面。

  1. leastNumGuesses = Math.min(leastNumGuesses,猜测);

    double rightNum = Math.random() *100;
    int randomNum = (int) rightNum; //convert the random number to int
    int tries = 0; //single game gussess output
    int numberOfGames = 0;
    int allTries = 0; //accumalates all tries(sum of all tries)
    int guesses = 0; // guesses of all games combined
    int gameGuesses = 0;
    int leastNumGuesses = 100;
    int mostNumGuesses = 0;


    while (choice.equalsIgnoreCase("y"))

    {

       System.out.println();

    int guess = getIntWithinRange(sc,"Enter the Number: ", 0, 100);
    tries++;
    guesses++;
    gameGuesses++;

    if (guess == randomNum)
    {
    numberOfGames++;
    System.out.println("You got it in " + tries + " tries.");
    leastNumGuesses = Math.min(leastNumGuesses,gameGuesses);
    if (tries <=3)
    System.out.println("Great work! You are a mathematical wizard.");
    else if (tries > 3 && tries <= 7)
    System.out.println("Not too bad! You've got some potential.");
    else if (tries > 7)
    System.out.println("What took you so long? Maybe you should take some lessons.");

    System.out.println();
    System.out.println("Would you like to play again (y/n):");
    choice = sc.nextLine();

    while (!choice.equalsIgnoreCase("n") && !choice.equalsIgnoreCase("y"))
    {

    System.out.println("Error! entry must be \"y\" or \"n\".");
    System.out.println("Would you like to play again (y/n):");
    choice = sc.nextLine();
    }

    if (choice.equalsIgnoreCase("y"))
    { // reset the random number & tries

    rightNum = Math.random() *100;
    randomNum = (int) rightNum;
    tries=0;
    gameGuesses++;
    }
    else if (choice.equalsIgnoreCase("n"))
    {
    allTries += guesses;
    int averageNumGuess = allTries / numberOfGames;

    System.out.println("Bye - Come back again");
    System.out.println("Number of Games Played: " + numberOfGames);
    System.out.println("Average Number of Guesses: " + averageNumGuess);
    System.out.println("Least Amount of Guesses In a Single Game: " + leastNumGuesses);

    }

    }

最佳答案

看来你正在改变你想要的guesses代表在程序的中间。

请记住guesses是所有游戏的猜测总数,leastNumGuesses初始设置为100 。大多数情况下,您会发现guesses < leastNumGuesses ,因此 Math.min(guesses, leastNumGuesses)函数将返回guesses .

修复:使用 guesses 以外的变量,例如 gameGuesses记录游戏中进行了多少次猜测。然后,Math.min(,)将按照您的预期运行。

关于java - 需要有关最小和最大函数的帮助吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15214774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com