0

我对 java 很陌生并且使用代码,我需要在 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");
        }
        }
    }
}
4

4 回答 4

1

问题:

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

解决方案

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" );
}
于 2016-02-22T17:44:59.270 回答
1

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

添加:

int headCount = 0;
int tailsCount = 0;

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

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

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

于 2016-02-22T17:47:20.533 回答
0

您需要存储有多少次Heads和多少次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 的百分比,这就是为什么您可以输出变量的实际值的原因。

于 2016-02-22T17:42:43.137 回答
0

公共类 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());
}


}

这应该工作

于 2016-02-22T17:44:29.597 回答