gpt4 book ai didi

java - 遇到这个java代码的问题 - 应该打印并计算随机抛硬币中正面和反面的数量

转载 作者:行者123 更新时间:2023-12-01 13:49:58 25 4
gpt4 key购买 nike

正如标题所说,我必须使用一个类文件和一个主方法 java 文件,该文件调用该类文件并打印出起始硬币面,以及 40 个以上的硬币面翻转。我还需要有 2 个计数器来计算正面的数量和反面的数量。这是我的类文件和主方法文件的代码。我遇到的问题是,每当我运行它时,它总是打印出正面计数为 0,尾部计数为 40。

类文件:

import java.util.Random;

public class CoinToss
{
private String sideUp;

public CoinToss()
{
Random randomNum = new Random();
int number = randomNum.nextInt();

if(number%2 == 0)
sideUp = "heads";
else
sideUp = "tails";

System.out.println(sideUp);
}

public void toss()
{
Random randomNum = new Random();
int number = randomNum.nextInt();

if(number%2 != 0)
{
sideUp = "heads";
}
else
{
sideUp = "tails";
}

System.out.println(sideUp);
}

public String getSideUp()
{
return sideUp;
}

}

主方法文件

public class CoinTossDemo 
{
public static void main(String[] args)
{
int headsCount = 0;
int tailsCount = 0;

System.out.print("The Starting side of the coin is: ");
CoinToss coin = new CoinToss();
System.out.println();

for(int x = 0; x < 40; x++)
{
System.out.print("The next side of the coin is: ");
coin.toss();
System.out.println();

if(coin.equals("heads"))
{
headsCount++;
}
else
{
tailsCount++;
}
}

System.out.println("The amount of heads that showed up is: " + headsCount);

System.out.println();

System.out.println("The amount of tails that showed up is: " + tailsCount);
}
}

请帮忙,提前致谢。

最佳答案

当前您正在将 CoinToss coin 对象与字符串值 heads 进行比较,这就是为什么它总是转到 else 部分。

我可以看到您正在将当前抛硬币的结果设置为 sideUp(这是一个 String)。因此,您需要将其与 if 中的 heads 进行比较。

if(coin.getSideUp().equals("heads")) { // getSideUp() returns the sideUp value
headsCount++;
} else {
tailsCount++;
}

关于java - 遇到这个java代码的问题 - 应该打印并计算随机抛硬币中正面和反面的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com