识别 Java 中的两个随机序列



我正在编写一个程序,该程序可以抛硬币,然后输出结果是正面(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 个头部后停止:

��我在弄清楚如何让 Java 继续翻转硬币时遇到了问题。我尝试实现一个 for 循环,让我翻转硬币固定次数,但我宁愿程序计算出硬币自己翻转多少次。我怀疑它应该带有一个 while-loop,但我似乎无法弄清楚如何实现。任何帮助将不胜感激。

使用计数器跟踪翻转了多少个磁头,并循环直到翻转了 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;
}
}

像这样:

int headsInRow=0;
while(headsInRow<3){
int flip=doFlip();
if(heads)headsInRow++;
else headsInRow=0;
}

ofc 它是一个伪代码,但你应该明白这个想法。

最新更新