public class PrintUptoHundredWithoutIf {
public static void main(String[] args) {
Thread t = new Thread(task());
t.setDaemon(true);
t.start();
sleep((NUMBERS_TO_PRINT * SLEEP_PERIOD_IN_MILLIS)
+ OS_SLEEP_RESPONSE_IN_MILLIS);
}
private static final int SLEEP_PERIOD_IN_MILLIS = 1000;
private static final int NUMBERS_TO_PRINT = 100;
private static final int OS_SLEEP_RESPONSE_IN_MILLIS = 110;
public void printUptoHundred(byte seq) {
int posVal = Math.abs(~seq);
System.out.println(posVal);
sleep(SLEEP_PERIOD_IN_MILLIS);
printUptoHundred((byte) posVal);
}
private static Runnable task() {
return new Runnable() {
@Override
public void run() {
new PrintUptoHundredWithoutIf().printUptoHundred((byte) 0);
}
};
}
private static void sleep(int millis) {
try {
Thread.sleep(millis);
} catch (Exception e) {
e.printStackTrace();
}
}
}