0

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

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

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

i被初始化为私有静态 inti = 0; //Game counter

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

这个循环是否有任何逻辑错误?

谢谢

4

1 回答 1

1

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

 while(Craps.play()) {
     i++;
 }
于 2013-02-23T22:20:29.607 回答