blob: 69b94d784f1ea1aea4c145e1703db68cb8d8d097 [file] [log] [blame]
// $Id: objinst.java,v 1.1 2004-05-23 07:14:28 bfulgham Exp $
// http://www.bagley.org/~doug/shootout/
// Collection class code is from my friend Phil Chu, Thanks Phil!
import java.io.*;
import java.util.*;
import java.text.*;
class Toggle {
boolean state = true;
public Toggle(boolean start_state) {
this.state = start_state;
}
public boolean value() {
return(this.state);
}
public Toggle activate() {
this.state = !this.state;
return(this);
}
}
class NthToggle extends Toggle {
int count_max = 0;
int counter = 0;
public NthToggle(boolean start_state, int max_counter) {
super(start_state);
this.count_max = max_counter;
this.counter = 0;
}
public Toggle activate() {
this.counter += 1;
if (this.counter >= this.count_max) {
this.state = !this.state;
this.counter = 0;
}
return(this);
}
}
public class objinst {
public static void main(String args[]) throws IOException {
int n = Integer.parseInt(args[0]);
Toggle toggle1 = new Toggle(true);
for (int i=0; i<5; i++) {
System.out.println((toggle1.activate().value()) ? "true" : "false");
}
for (int i=0; i<n; i++) {
Toggle toggle = new Toggle(true);
}
System.out.println("");
NthToggle ntoggle1 = new NthToggle(true, 3);
for (int i=0; i<8; i++) {
System.out.println((ntoggle1.activate().value()) ? "true" : "false");
}
for (int i=0; i<n; i++) {
NthToggle toggle = new NthToggle(true, 3);
}
}
}