Java 如何为抛硬币模拟器创建硬币?
我为我的抛硬币模拟器创建了我的硬币类,但我有几个问题,我缺少什么使它翻转20次(或者这是我在程序中写的东西?),还有,我如何在程序中创建“硬币”? 这是到目前为止的课程Java 如何为抛硬币模拟器创建硬币?,java,java.util.scanner,Java,Java.util.scanner,我为我的抛硬币模拟器创建了我的硬币类,但我有几个问题,我缺少什么使它翻转20次(或者这是我在程序中写的东西?),还有,我如何在程序中创建“硬币”? 这是到目前为止的课程 import java.util.Random; import java.util.Scanner; public class Coin { private String sideUp; private int headCount; private int tailCount;
import java.util.Random;
import java.util.Scanner;
public class Coin
{
private String sideUp;
private int headCount;
private int tailCount;
private Random rand = new Random();
public void toss()
{
sideUp = "";
headCount = 0;
tailCount = 0;
Random rand = new Random();
//Get random value 0 or 1
int value = rand.nextInt(2);
if(value == 0 )
{
this.sideUp = "heads";
headCount++;
}
else
{
this.sideUp = "tails";
tailCount++;
}
}
public String getSideUp(String sideUp)
{
this.sideUp = "";
headCount = 0;
tailCount = 0;
return sideUp;
}
public int getHeadCount(int headCount)
{
this.sideUp = "";
this.headCount = 0;
tailCount = 0;
return headCount;
}
public int getTailCount(int tailCount)
{
this.sideUp = "";
this.headCount = 0;
this.tailCount = 0;
return tailCount;
}
}
缺少一个
main()
方法,该方法是将代码作为应用程序运行所必需的。请尝试以下操作:
public class Coin {
// keep your original code...
public static void main(String[] args) {
Coin theCoin = new Coin();
for (int i=0; i < 20; ++i) {
theCoin.toss();
}
System.out.println("Coin was heads " + theCoin.getHeadCount() + " times.");
System.out.println("Coin was tails " + theCoin.getTailCount() + " times.");
}
}
公共级硬币{
//保留您的原始代码。。。
公共静态void main(字符串[]args){
硬币硬币=新硬币();
对于(int i=0;i<20;++i){
掷硬币;
}
System.out.println(“Coin was heads”+theCoin.getHeadCount()+“times”);
System.out.println(“Coin was tails”+theCoin.getTailCount()+“times”);
}
}
只是一个旁注:这是一个很好的示例,您可以使用枚举来提高类型安全性,而不是将币面称为字符串,因为您有有限数量的状态,可以是CoinFace.Heads或CoinFace.Tails。sideUp将是CoinFace类型而不是StringI我明白你的意思,但是老师给了我们一个UML图,其中包含了我们应该用于该程序的变量:/这太可惜了,但是如果你为了课堂需要遵循提供的设计,那么你应该这样做。然而,作为一个额外的学习点,值得注意的是字符串类型并不完全适合表示两个有限状态。我太累了(我已经完成了另外两项作业),我忘了展示我当时在实际项目中取得的成绩。