...
Code Block | ||
---|---|---|
| ||
import java.io.BufferedInputStream; import java.io.EOFException; public final class InputLibrary { public static char getChar() throws EOFException { BufferedInputStream in = new BufferedInputStream(System.in); int input = in.read(); if (input == -1) { throw new EOFException(); } return (char)input; //okay because InputStream guarantees read() fits in a byterange 0..255 if it is not -1 } public static void main(String[] args) { try { System.out.print("Enter first initial: "); char first = getChar(); System.out.println("Your first initial is " + first); System.out.print("Enter last initial: "); char last = getChar(); System.out.println("Your last initial is " + last); } catch(EOFException e) { System.out.println("ERROR"); } } } |
...
Code Block | ||
---|---|---|
| ||
import java.io.BufferedInputStream; import java.io.EOFException; public final class InputLibrary { private static BufferedInputStream in = new BufferedInputStream(System.in); public static char getChar() throws EOFException { int input = in.read(); if (input == -1) { throw new EOFException(); } in.skip(1); //This statement now necessary to go to the next line //the Noncompliant code example deceptively worked without it return (char)input; //okay because InputStream guarantees read() fits in a byterange 0..255 if it is not -1 } public static void main(String[] args) { try { System.out.print("Enter first initial: "); char first = getChar(); System.out.println("Your first initial is " + first); System.out.print("Enter last initial: "); char last = getChar(); System.out.println("Your last initial is " + last); } catch(EOFException e) { System.out.println("ERROR"); } } } |
...