import java.io.*;
import java.util.*;
public class Coin {
private String face, name;
private int flips, heads, value;
private double fairness;
// value given in cents
// face and name are all lowercase
public Coin() {
resetCounts();
setFairness(0.5);
setFace("heads");
setName("dime");
setValue(10);
}
public Coin(String n, int v, double f1, String f2) {
resetCounts();
setFairness(f1);
setFace(f2);
setName(n);
setValue(v);
}
// sets
public void setFlips(int f) {
flips = f;
}
public void setHeads(int h) {
heads = h;
}
public void setName(String n) {
name = n;
}
public void setValue(int v) {
value = v;
}
public void setFairness(double f) {
fairness = f;
}
public void setFace(String f) {
face = f;
}
public void resetCounts() {
setFlips(0);
setHeads(0);
}
// gets
public String getFace() {
return face;
}
public int getHeads() {
return heads;
}
public String getName() {
return name;
}
public int getValue() {
return value;
}
public int getTails() {
return flips - heads;
}
public double getFairness() {
return fairness;
}
public int getFlips() {
return flips;
}
// methods
public void flip() {
flips = flips + 1;
double rand = Math.random();
if (rand >= fairness) {
setFace("heads");
heads = heads + 1;
} else {
setFace("tails");
}
}
}