Input.java
1 package hlt; 2 3 public class Input { 4 private final String[] input; 5 private int current; 6 7 public Input(final String line) { 8 input = line.split(" "); 9 } 10 11 public int getInt() { 12 return Integer.parseInt(input[current++]); 13 } 14 15 public static Input readInput() { 16 return new Input(readLine()); 17 } 18 19 public static String readLine() { 20 try { 21 final StringBuilder builder = new StringBuilder(); 22 23 int buffer; 24 for (; (buffer = System.in.read()) >= 0;) { 25 if (buffer == '\n') { 26 break; 27 } 28 if (buffer == '\r') { 29 // Ignore carriage return if on windows for manual testing. 30 continue; 31 } 32 builder.append((char)buffer); 33 } 34 35 return builder.toString(); 36 } catch (final Exception e) { 37 Log.log("Input connection from server closed. Exiting..."); 38 System.exit(0); 39 throw new IllegalStateException(e); 40 } 41 } 42 }