java while 循环计数不正确

标签 java while-loop do-while

我是java新手,所以我尝试学习一些东西。我创建了一个 boolean 方法,这是一个小骰子游戏。我需要从主方法调用此方法,并在返回值为 true(游戏获胜)时继续玩,但如果返回值为 false,则停止执行。我还需要玩家赢了多少次。所以我创建了这样的东西:

while(Craps.play())
{
  Craps.play();
  i++;
} 

System.out.println("In total you won " + i + " times");

i 初始化为 private static int i = 0;//游戏计数器

但是输出没有让我看到正确的结果。首先,如果游戏输了(返回值为 false),它不会停止执行。而且它并不能正确计算中奖号码。例如,如果赢了 3 场比赛,则计算他是否赢了 2 场比赛。

这个循环有逻辑错误吗?

谢谢

最佳答案

您不应该在循环内调用Craps.play(),因为您会错过验证。另外,在原始代码中,您调用了 Craps.play() 两次,但仅递增 i 一次。将您的代码更改为此,它应该按预期工作:

 while(Craps.play()) {
     i++;
 }

关于java while 循环计数不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15046383/

相关文章:

java - 在 google app engine for java 中使用 xml rpc 客户端 - 超时时间为 30 秒? - 如何使用低级 API 进行访问

java - 有没有办法从 Apache commons-cli 选项值中自动去除前导空格?

java - 如何使用移动设备关闭 Androidwear 应用程序

java - 如何使用java 9流来实现简单mvc的观察者/可观察模式?

python - 循环并附加到列表

Bash 脚本命令在 while 循环中找不到错误

java - Do While 循环第二次不与扫描仪协调

C++从文件加载不断重复最后一个字符

linux - 如何使用 xargs max-procs 实用程序并行多次调用 while 语句

python - 为什么 i += 1 更改为 i += 2 有效?