我是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/