这是我要尝试生成的数字的类,如果它们的数字不等于1,它将一直循环直到它出现为止,但会计算它循环了多少次,以及循环了多少次后将其打印到文件。它可以很好地编译,只是在我尝试运行程序时卡在执行中。

import java.util.Scanner;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.File;
import java.util.Random;
public class BottleCapPrizeV2
{
    public static void main (String [ ] args) throws IOException
    {
        int openedCaps = 0;
        int randNum = 0;
        PrintWriter outFile = new PrintWriter(new File("MonteCarlo.txt"));
        Random randNumList = new Random();

        for (int loop = 1; loop <= 1000; loop++)
        {
            randNum = randNumList.nextInt(5)+1;
            while (randNum != 1)
            {
                openedCaps++;
            }
            outFile.println(openedCaps);
        }
        outFile.close();
    }
}

最佳答案

它被卡住是因为在while循环中没有什么改变randNum的值。所以它一直循环

while (randNum != 1)
{
    openedCaps++;
}


randNum总是!= 1

09-25 22:02