gpt4 book ai didi

Java 循环仅运行最大尝试次数

转载 作者:行者123 更新时间:2023-12-02 04:14:55 24 4
gpt4 key购买 nike

我创建了一个 if 语句,同时确实要继续提出问题,直到你答对为止。然而,这对我来说不是一个选择。我已经实现了一个具有最大尝试次数的计数器,如果循环运行 3 次并且您仍然出错,则打印“您出错了”并转到下一个问题。如果他们在 3 次尝试内答对,“转到下一个问题”,分数++ 就在那里记录分数。 Score++ 必须仅保留正确答案的分数,这就是为什么它位于 while (true) 之下。如果有人能帮助我,那就太好了。我对改善循环的不同方法持开放态度。谢谢!

这是循环:

int count = 0;
int maxTries = 3;

do {
println(q1.PrintQuestion());
yourAnswer = readLine("Your answer: ");
if ((q1.IsAnswerCorrect(yourAnswer)) && (count < maxTries))
break;
else
println("You got it wrong! \n");
count++;
} while (true);

score++;
println("You got it right! \n");

编辑:感谢这里的答案,这是我的工作循环。现在我遇到的问题是,如果答案正确,它不会进入下一个问题,直到我正确回答两次为止,如果我将 maxTries 设置为 3,它会进行 4 次,这就是为什么我减少到 2 次。最后一次最大尝试如果我输入正确,我必须回答两次。

    int count = 0;
int maxTries = 2;

do {
println(q1.PrintQuestion());
yourAnswer = readLine("Your answer: ");
if ((q1.IsAnswerCorrect(yourAnswer)) || (count >= maxTries))
break;
else
println("You got it wrong! \n");
count++;

} while (true);

score++;
println("You got it right! \n");

最佳答案

计数需要在循环内部而不是外部增加。此外,您检查是否达到 maxtries 或是否提供正确答案的条件也不正确:

if ((q1.IsAnswerCorrect(yourAnswer)) || (count >= maxTries))
break;
else
println("You got it wrong! \n");
count++;

当提供正确答案或达到 maxTries 时将停止。

关于Java 循环仅运行最大尝试次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33427345/

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