Java中两个随机序列的识别

Java中两个随机序列的识别,java,Java,我正在编写一个程序,该程序将抛硬币,然后输出结果是正面(H)还是反面(T): 接下来,我想让程序继续抛硬币,直到它连续抛3个头 例如,我希望它输出以下内容,在识别3个磁头后停止: H T H H T H H 我在弄清楚如何让Java继续翻硬币时遇到了问题。我已经尝试实现了一个for循环,它允许我将硬币翻转固定的次数,但我更希望程序能够计算出硬币自己翻转了多少次。我怀疑它应该有一个while循环,但我似乎不知道该如何实现。如果有任何帮助,我们将不胜感激。使用计数器跟踪翻转了多少个头部,并循环直到翻

我正在编写一个程序,该程序将抛硬币,然后输出结果是正面(H)还是反面(T):

接下来,我想让程序继续抛硬币,直到它连续抛3个头

例如,我希望它输出以下内容,在识别3个磁头后停止:

H T H H T H H


我在弄清楚如何让Java继续翻硬币时遇到了问题。我已经尝试实现了一个for循环,它允许我将硬币翻转固定的次数,但我更希望程序能够计算出硬币自己翻转了多少次。我怀疑它应该有一个while循环,但我似乎不知道该如何实现。如果有任何帮助,我们将不胜感激。

使用计数器跟踪翻转了多少个头部,并循环直到翻转了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;
    }
}
Random r=new Random();
int计数器=0;
而(counter像这样的东西:

int headsInRow=0;
while(headsInRow<3){

  int flip=doFlip();
  if(heads)headsInRow++;
  else headsInRow=0;
}
int headsInRow=0;

while(headinrow)你只是忘了重置计数器。@antonioss这是我的错误。编辑我能说的是thttttthhhoh这真的很聪明。我必须更善于像程序员一样思考,并想出一些解决办法,比如添加计数器。谢谢!那个“headinrow”是我丢失的链接。我的想法更多的是识别字符串“H”,但这更有意义。我确实需要更多的实践来想出这些解决方案。谢谢!
int headsInRow=0;
while(headsInRow<3){

  int flip=doFlip();
  if(heads)headsInRow++;
  else headsInRow=0;
}