我在抛硬币程序上遇到了一些问题

I have some problems with a coin toss program

我是 java 的新手,使用 codehs,我需要找出 100 次抛掷程序中正面/反面的数量和百分比。我得到了 100 次翻转,但百分比和打印数量超出了我的范围,这是我的代码,感谢您的帮助

public class CoinFlips extends ConsoleProgram
{
    public void run()
    {
        for (int i = 0; i < 100; i++)
    {
        if (Randomizer.nextBoolean())
        {
            System.out.println("Heads");
        }
        else
        {
        System.out.println("Tails");
        }
        }
    }
}

你需要存储有多少次正面和多少次反面:你需要一个变量来存储Heads 并在每次变为 HEADS 时增加变量。然后在循环之后,这个变量中的数字将是 HEADS 投掷的次数。尾巴是 100 头。例如:

public class CoinFlips extends ConsoleProgram
{
    public void run()
    {
        int heads = 0;
        for (int i = 0; i < 100; i++)
        {
            if (Randomizer.nextBoolean())
            {
                heads++;
                System.out.println("Heads");
            }
            else
            {
                 System.out.println("Tails");
            }
        }
        System.out.println("Percentage of Heads = " + heads + "%");
        System.out.println("Percentage of Tails = " + (100 - heads) + "%");
    }
}

由于抛硬币的次数为100,抛出的HEADS数量等于抛出HEADS的百分比,所以可以输出变量的实际值。

public class CoinFlips 扩展了 ConsoleProgram {

public void run()
{
 int headsCount = 0;
    for (int i = 0; i < 100; i++)
    {
        if (Randomizer.nextBoolean())
        {
            System.out.println("Heads");
            headsCount++;
        }
        else
        {
            System.out.println("Tails");
        }
    }
    float headsPercentage = headsCount/100f;
    System.out.println("Heads percentage: " + headsPercentage.toString());
}


}

这应该有效

问题:

您将需要一个计数器和一个结果变量。

解决方案

int TOTAL =100;
int counter =0;
for (int i = 0; i < TOTAL; i++) {
if (Randomizer.nextBoolean()) {
    System.out.println("Heads");
    counter++;
}else{
    System.out.println("Tails");
}

    double procent = (double)counter/TOTAL*100;
    System.out.println("From "+ TOTAL +" flipped coins " + procent+"% were Heads" );
}

这是一个可能的解决方案:

添加:

int headCount = 0;
int tailsCount = 0;

您可以通过以下方式使用它们:

        if (Randomizer.nextBoolean())
    {
        System.out.println("Heads");
        headsCount++;
    }
    else
    {
    System.out.println("Tails");
        tailsCount++;
    }

然后写一个计算百分比的方法。由于这看起来像是家庭作业,所以我会把它留给你。