为什么我的代码在使用 Math.random() 时只得到正面或反面?

Why is my code only getting all heads or all tails when using Math.random()?

我想掷一枚硬币,生成正面或反面。 heads = 0tails = 1.

然后它将更新一个数组,其中索引 0 是正面翻转的数量,索引 1 是反面翻转的数量。 但是,我的代码要么获得所有正面,要么获得所有反面。 Math.random() 数字生成器有问题吗?

import java.util.Random;
import java.lang.Math;

class FlipCoin
{
    public static void main(String[] args)
    {
        int[] tracker = new int[2];
        int heads = 0;
        int tails = 1;
        int tosses = 10;

        coinFlip(tracker, heads, tails, tosses);

        //System.out.printf()
    }
    
    public static void coinFlip(int[] tracker, int heads, int tails, int tosses)
    {

        int flips =(int)(Math.random());
        
        for(int x = 0; x <= tosses; x++)
        {
            if (flips == heads) 
            {
                tracker[0] ++;
                System.out.println("You flipped heads!");
            } 
            else if (flips == tails)
            {
                tracker[1] ++;
                System.out.println("You flipped tails!");
            }
        }

        for(int i = 0; i < tracker.length; i++)
        {
            System.out.println(tracker[i] + " ");
        }

    }
}

根据评论总结,正确的解决方案是:

public static void main(final String[] args)
{
    final int[] tracker = new int[2];
    final int heads = 0;
    final int tails = 1;
    final int tosses = 10;

    coinFlip(tracker, heads, tails, tosses);
}

public static void coinFlip(final int[] tracker, final int heads, final int tails, final int tosses)
{
    for (int x = 0; x < tosses; x++)
    {
        int flips = (int) (Math.random() * 2);

        if (flips == heads)
        {
            tracker[0]++;
            System.out.println("You flipped heads!");
        }
        else if (flips == tails)
        {
            tracker[1]++;
            System.out.println("You flipped tails!");
        }
    }

    for (int y = 0; y < tracker.length; y++)
    {
        System.out.println((y == heads ? "Heads" : (y == tails) ? "Tails" : "") + ": " + tracker[y] + " ");
    }
}