Flips测试类(page43)

测试用例:所用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

 

原文地址:https://www.cnblogs.com/pacoson/p/4003489.html