我正在编写一个掷硬币的程序,然后输出结果是正面(H)还是反面(T):
import java.util.Random;
public class coin {
public static void main (String [] arg) {
Random r = new Random();
int flip = r.nextInt(2);
if (flip == 1) {
System.out.print("H");
} else {
System.out.print("T");
}
}
}
接下来,我希望程序继续翻转硬币,直到它连续翻转3个头为止。
因此对于实例,我希望它输出以下内容,该内容在确定3个头之后停止:
H T T H T H T H H H
我在解决如何使Java继续掷硬币方面遇到问题。我试图实现一个for循环,该循环使我可以将硬币翻转固定的次数,但是我希望该程序能够计算出硬币自身翻转了多少次。我怀疑应该使用while循环,但是我似乎无法弄清楚如何实现。任何帮助将不胜感激。
答案 0 :(得分:2)
使用计数器跟踪翻转了多少个磁头,并循环直到翻转了3个磁头:
Random r = new Random();
int counter = 0;
while(counter <3)
{
int flip = r.nextInt(2);
if (flip == 1) {
System.out.print("H");
counter++;
} else {
System.out.print("T");
counter = 0;
}
}
答案 1 :(得分:2)
类似这样:
int headsInRow=0;
while(headsInRow<3){
int flip=doFlip();
if(heads)headsInRow++;
else headsInRow=0;
}
ofc这是一个伪代码,但您应该了解一下。