java while循环计数不正确
我是一个java新手,所以我试着学习一些东西。我创建了一个布尔方法,这是一个小游戏。我需要这个方法是从主方法调用的,并在返回值为true(游戏获胜)时继续玩,但如果返回值为false,则停止执行。我还需要玩家赢了多少次。所以我创造了这样的东西:java while循环计数不正确,java,while-loop,do-while,Java,While Loop,Do While,我是一个java新手,所以我试着学习一些东西。我创建了一个布尔方法,这是一个小游戏。我需要这个方法是从主方法调用的,并在返回值为true(游戏获胜)时继续玩,但如果返回值为false,则停止执行。我还需要玩家赢了多少次。所以我创造了这样的东西: while(Craps.play()) { Craps.play(); i++; } System.out.println("In total you won " + i + " times"); i初始化为私有静态inti=0//游戏计数
while(Craps.play())
{
Craps.play();
i++;
}
System.out.println("In total you won " + i + " times");
i
初始化为私有静态inti=0//游戏计数器
但是输出没有看到我是正确的。首先,如果游戏失败(返回值为false),它不会停止执行。而且中奖号码不算正确。例如,如果赢了3场比赛,它将计算他是否赢了2场比赛
这个循环有逻辑错误吗
谢谢您不应该在循环中调用
Craps.play()
,因为您将错过验证。另外,在原始代码中,您调用了两次Craps.play()
,但只增加了一次i
。将代码更改为此,它将按预期工作:
while(Craps.play()) {
i++;
}
调用
Craps.play()和body中的code>可能是问题。问题可能是您在while循环中调用Craps#play
函数两次:一次作为条件,另一次在while
block codeYep中只需删除while循环body中的“Craps.play()”调用您可以发布Craps.play()的代码吗这样我们就可以确切地看到它的作用和它是什么?while(Craps.play()){i++;//其他逻辑…}
有什么问题吗?哦,是的。我做了这个更改,现在代码工作正常了。谢谢你们的及时回答。