【问题标题】:How Do I exit a loop and afterwards print Text如何退出循环然后打印文本
【发布时间】:2014-02-16 16:39:38
【问题描述】:

我一直在尝试模拟彩票之类的东西。 我告诉 java 运行 while 循环,直到变量 playCount 等于 1000。这是我的代码:

package problemset.leveltwo;

import java.util.*;
public class PlaySimLoop {

public static void main(String[] args) {
    Random random = new Random();

    int High = 100;
    int Low = 10;
    int playCount = 0;
    int winCount = 0;
    int loseCount = 0;

    while (playCount > 1000) {
        int yourNumber = random.nextInt(High - Low) + Low;
        int winningNumber = random.nextInt(High - Low) + Low;

        if (yourNumber == winningNumber) {
            winCount = (winCount + 1);
        }

        if (yourNumber != winningNumber) {
            loseCount = (loseCount + 1);
        }

        playCount = (playCount + 1);

        if (playCount == 1000) {
            break;
        }

System.out.println("You Won " + winCount + " Times");
System.out.println("You Lost" + loseCount + " Times");

      }

}

}

运行程序后,它不会在 java eclipse 的控制台中打印任何信息或统计信息。上面写着“PlaySimLoop(java 应用程序)”,后面跟着一个路由到它保存在我电脑上的位置。

感谢您的帮助! 泰勒

【问题讨论】:

    标签: java string loops while-loop


    【解决方案1】:

    你的循环条件错误

    while (playCount > 1000) {
    

    将在变量大于 1000 时运行。但它从 0 开始......所以循环永远不会运行。你可能想要:

    while (playCount < 1000) {
    

    当变量小于 1000 时会运行。

    此外,这个简介:

    if (playCount == 1000) {
        break;
    }
    

    没有必要。此答案中定义的循环条件将在 999 之后自动停止。这意味着如果您每次只是将计数器增加 1,则此条件永远不会成立。

    【讨论】:

    • 谢谢!我只用了break;因为我无法退出循环。
    • 还有一件事。我只希望控制台打印一次统计信息。我更改了程序并且它可以工作,但现在控制台打印了 1000 次统计信息。实际的 System.out.println("You Won " + winCount + " Times") 不在 wile 循环中,对于 lostCount 是否正确?
    • 是的,它是while循环的一部分。
    【解决方案2】:

    您可能希望将 System.out.println 移出 while 循环。

    someNumber = (someNumber + 1) 可以写成someNumber += 1 或使用后缀递增运算符:someNumber++。您可以使用 else 块,而不是使用另一个 if 条件。

    if (yourNumber == winningNumber) {
        winCount++;
    } else {
        loseCount++;
    }
    

    loseCount 也可以在最后从playCount - winCount 计算出来。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 2023-04-09
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多