INTRODUCTION TO COMPUTER SCIENCE
Robert Sedgewick and Kevin Wayne


This is the syntax highlighted version of Splitter.java.

/*************************************************************************
 *  Compilation:  javac Splitter.java
 *  Execution:    java Splitter
 *
 *  1-2 splitter.
 *
 *************************************************************************/

public class Splitter extends Circuit {

    public Splitter() { super(1, 2); }

    public void propagate() {
        outAt(0).setSignal(inAt(0).isOn());
        outAt(1).setSignal(inAt(0).isOn());
    }


    /////////////////////////////////////////////////////////////////////////

    // test client
    public static void main(String[] args) {

        Circuit splitter = new Splitter();
        Switch input = new Switch();
        Light  light0 = new Light();
        Light  light1 = new Light();
        input.outAt(0).solderTo(splitter.inAt(0));
        splitter.outAt(0).solderTo(light0.inAt(0));
        splitter.outAt(1).solderTo(light1.inAt(0));

        // set inputs and show
        System.out.println(light0.isOn());
        System.out.println(light1.isOn());
        System.out.println();

        input.turnOn();
        System.out.println(light0.isOn());
        System.out.println(light1.isOn());
        System.out.println();

        input.turnOff();
        System.out.println(light0.isOn());
        System.out.println(light1.isOn());
        System.out.println();

    }

}


Last updated: Mon May 24 12:02:56 EDT 2004 .
Copyright © 2004, Robert Sedgewick and Kevin Wayne.