我在抛硬币程序上遇到了一些问题
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++;
}
然后写一个计算百分比的方法。由于这看起来像是家庭作业,所以我会把它留给你。
我是 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++;
}
然后写一个计算百分比的方法。由于这看起来像是家庭作业,所以我会把它留给你。