【发布时间】:2013-11-18 22:07:01
【问题描述】:
我需要帮助。我应该抛硬币 40 次,每次都是正面和反面,但由于某种原因,它总是返回全部正面或全部反面,我不知道为什么。我得到了一个我必须遵循的 UML 图。它需要一个名为 sideUp 的私有 String、一个名为 Coin 的公共无参数构造函数、一个名为 toss 的公共 void 方法和一个名为 getSideUp 的 String 方法。
硬币类:
import java.util.*;
public class Coin {
private String sideUp;
public Coin(){
toss();
}
public void toss(){
Random myRand = new Random();
int face = myRand.nextInt(2);
if(face == 0){
sideUp = "heads";
}
else{
sideUp = "tails";
}
getSideUp();
}
public String getSideUp(){
return sideUp;
}
}
CoinDriver:
public class CoinDriver {
public static void main(String[] args){
Coin coin = new Coin();
int headsCount = 0;
int tailsCount = 0;
for(int i = 1; i <= 40; i++){
System.out.println(coin.getSideUp());
if(coin.getSideUp().equals("heads")){
headsCount++;
}
else if(coin.getSideUp().equals("tails")){
tailsCount++;
}
}
System.out.println("Total number of heads: " + headsCount + "\nTotal number of tails: " + tailsCount);
}
}
【问题讨论】:
-
那个硬币可能已经装好了 ;)