1
5 public class HalfAdderV2 {
6 public static void main(String[] args) {
7
8 Gate x = new Gate();
10 Gate y = new Gate();
11
12 Gate[] gate = new Gate[6];
14
15 gate[0] = new Gate("NOT", x); gate[1] = new Gate("NOT", y); gate[2] = new Gate(gate[0], "AND", y); gate[3] = new Gate(x, "AND", gate[1]); gate[4] = new Gate(gate[2], "OR", gate[3]); gate[5] = new Gate(x, "AND", y);
23 x.setValue(true);
25 y.setValue(false);
26
27 for (int i=0; i<gate.length; i++)
29 gate[i].operate();
30
31 boolean s = gate[4].getValue(); boolean c = gate[5].getValue();
35 System.out.println("sum = " + s);
36 System.out.println("carry = " + c);
37
38 }
39
40 }
41