如何退出循环,然后打印文本

时间:2014-01-25 17:30:36

标签: java string loops while-loop

我一直试图模仿像彩票一样的东西。 我告诉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 application)”后跟一条路径,保存在我的电脑上。

感谢帮助! 泰勒

2 个答案:

答案 0 :(得分:1)

您的循环条件错误

while (playCount > 1000) {

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

while (playCount < 1000) {

当变量小于1000时将运行。

此外,这个模糊:

if (playCount == 1000) {
    break;
}

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

答案 1 :(得分:0)

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

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

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

loseCount也可以在playCount - winCount结束时计算。