这会随机打印正面或反面,如果正面连续打印3次,那么我会报告。现在我有了它,所以如果总共打印了3个头,它将报告它。谢谢。
public static void flip(Random r){
int heads = 0;
int totalFlips = 0;
Random number = new Random();
int randomNumber;
do {
randomNumber = number.nextInt(2)+1;
if(randomNumber == 1){
System.out.println("heads");
heads++;
totalFlips++;
}
else {
System.out.println("tails");
totalFlips++;
}
} while(heads < 3);
if(heads == 3){
System.out.print("3 heads in a row after " +totalFlips + " flips");
}
}
最佳答案
您正在循环外设置随机数,因此它将选择1或2,并且不会改变。我建议您将随机数生成移动到循环中以每次生成一个新数。
它似乎只挑头的原因是,如果挑尾,它将陷入无限循环。
顺便说一句,使用调试器可以更快地发现此错误。