我是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");
}
}
}
}
答案 0 :(得分: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" );
}
答案 1 :(得分:1)
这是一个可能的解决方案:
添加:
int headCount = 0;
int tailsCount = 0;
您可以通过以下方式使用它们:
if (Randomizer.nextBoolean())
{
System.out.println("Heads");
headsCount++;
}
else
{
System.out.println("Tails");
tailsCount++;
}
然后写一个方法来计算百分比。由于这看起来像是家庭作业,我会留给你。
答案 2 :(得分: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) + "%");
}
}
由于coint tosses的数量为100,因此HEADS投掷量等于HEADS投掷的百分比,这就是你可以输出变量实际值的原因。
答案 3 :(得分: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());
}
}
这应该有效