当前位置: 首页 > 知识库问答 >
问题:

java while循环计数不正确

吕子真
2023-03-14

Imma java新手,所以我试着学东西。我创建了一个布尔方法,这是一个小的骰子游戏。我需要这个方法是从main方法调用,并继续玩,而返回值是真的(游戏是赢的),但停止执行,如果返回值是假的。我也需要多少次球员赢了。所以我创造了这样的东西:

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

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

i初始化为私有静态inti=0;//游戏计数器

这个循环有什么逻辑错误吗?

谢谢


共有1个答案

公西繁
2023-03-14

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

 while(Craps.play()) {
     i++;
 }
 类似资料:
  • 我有一个家庭作业。。。代码如下。。。有几个问题要问。。。提前谢谢。Java初学者。。。如果这看起来很笨拙,请不要笑 有没有办法对我问的每个问题使用我的IF语句,而不必为每个问题更改字符串名称? 有没有办法创建一个方法(?)对于那些如果语句,所以我不必为我问的每一个问题写出来? 如果用户在10秒内没有输入答案,我想有一个定时器提示他们回答,我该怎么做?

  • 我是java的新手,我正在编写这个简短的程序,您可以在其中猜测1到10之间的数字。正确的数字存储为整数。如果您猜测较低的数字,它应该说“正确的数字较高”,如果您猜测较高,它应该说“正确的数字较低”。这是我所拥有的: 所以很明显这是行不通的,因为如果你输入一个更小的数字,它会跳到下一个数字,即使这个数字更大,它也是正确的。那么,我如何解决这个问题,让它检查两个语句呢?抱歉解释得不好。谢了。

  • 此方法重复读取命令并执行它们,直到游戏结束。完成的变量为true时,表示玩家/用户点击了退出并想要结束游戏——从而退出循环并执行到方法结束。 但我观察到循环有一种奇怪的行为。它循环得非常好(省略以下行时显示stopWatch.getTime()的连续计数: 但是当我把它们放回去时,它会停止显示秒表的连续递增时间,因为它会朝着时间限制增加(在这一点上,它应该停止)。即使玩家没有输入任何命令或输入。

  • 下面程序计算字符串中字母‘a’出现的次数: apstring fruit = "banana"; int length = fruit.length(); int count = 0; int index = 0; while (index < length) { if (fruit[index] == ’a’) { count = count + 1; } index =

  • 问题内容: 在下面的示例代码中,是否真的需要counter = 0,还是有更好,更多的Python方法来访问循环计数器?我看到了一些与循环计数器有关的PEP,但它们要么被延迟要么被拒绝(PEP 212 和PEP 281)。 这是我的问题的简化示例。在我的实际应用程序中,这是通过图形完成的,整个菜单必须每帧重新绘制一次。但这以易于复制的简单文本方式进行了演示。 也许我还应该补充一点,我正在使用Pyt

  • 我需要编写一个程序,要求输入整数和循环,直到输入为负整数,然后程序结束。此外,循环需要计算正整数项的总数,并将所有项相加。代码的计数部分似乎工作正常,但我获取所有条目总和的方法不起作用。 我在代码中尝试的是将total=total输入放在循环的末尾,但这在测试时并没有给出正确的总和。 此外,我的类型安全块只适用于第一次进入;如果我在整数后输入一个字母,程序就会崩溃。这不应该在每个条目的开头回到类型