java - Java中识别两个随机序列

标签 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 循环,但我似乎无法弄清楚它是如何实现的。任何帮助将不胜感激。

最佳答案

使用计数器来跟踪有多少个正面已翻转并循环,直到 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;
    }
}

关于java - Java中识别两个随机序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52980272/

相关文章:

java - 无法确定 : java. util.List 的类型,位于表 : file_post, 的列 : [org. hibernate.mapping.Column(file)]

java - 将 Java 项目库转换为动态 Web 项目

java - Gson将字段反序列化为具有不同名称的变量,尽管具有带有字段名称的变量

java - 使用带有 minimizeJar = true 的阴影时出现 NullPointerException

java - 没有 Alpha channel 的 PNG 透明度

java - 不区分大小写的字符串 split() 方法

java - 从静态类成员转换为文本值

java - 如何获得 future list 的结果

java - 无法让二维数组进行洗牌

java - 如何满足警报管理器中的预定时间列表以推送通知