blob: 00e57cc2095dd2f5d75f92696807a3e4cdfcf484 [file] [log] [blame]
public class methcall {
private static 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);
}
}
private static 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 static void main(String args[]) {
int n = 1000000;
boolean val = true;
Toggle toggle = new Toggle(val);
for (int i=0; i<n; i++) {
val = toggle.activate().value();
}
Test.println(val);
val = true;
NthToggle ntoggle = new NthToggle(true, 3);
for (int i=0; i<n; i++) {
val = ntoggle.activate().value();
}
Test.println(val);
}
}