测试用例:所用java类: StdOut,StdIn , Counter, StdRandom,
public class Flips { public static void main(String[] args) { int T = Integer.parseInt(args[0]); Counter heads = new Counter("heads"); Counter tails = new Counter("tails"); for (int t = 0; t < T; t++) if(StdRandom.bernoulli(0.5)) heads.increment(); else tails.increment(); StdOut.println(heads); StdOut.println(tails); int d = heads.tally() - tails.tally(); StdOut.println("delta : " + Math.abs(d)); } }
打印结果:public class Counter implements Comparable<Counter> { private final String name; // counter name private int count = 0; // current value /** * Initializes a new counter starting at 0, with the given id. * @param id the name of the counter */ public Counter(String id) { name = id; } /** * Increments the counter by 1. */ public void increment() { count++; } /** * Returns the current count. */ public int tally() { return count; } /** * Returns a string representation of this counter */ public String toString() { return count + " " + name; } /** * Compares this counter to that counter. */ public int compareTo(Counter that) { if (this.count < that.count) return -1; else if (this.count > that.count) return +1; else return 0; } }
public class Flips { public static void main(String[] args) { Counter c1 = new Counter("ones"); c1.increment(); Counter c2 = c1; c2.increment(); StdOut.println(c1); } }//赋值语句的区别: 复制的是引用类型还是原始数据类型。
打印结果:
2 ones
时间: 2024-08-24 13:47:44