This approach was probably unnecessary, but I took it anyways.
Try this--
import java.io.*;
public class DataInputFilterStream extends FilterInputStream{
public DataInputFilterStream(InputStream is){
super(new DataInputStream(is));
}
@Override public int read() throws IOException{
skip(available());
return (available() == 0) ? super.read() : 0;
}
public char readChar() throws IOException{
return (char)read();
}
} import java.io.*;
public class CharScanner{
public static void main(String... args){
DataInputFilterStream difs = null;
try{
difs = new DataInputFilterStream(System.in);
}catch(Throwable t){
System.out.println("Unable to initialized object dis - shutting down.");
t.printStackTrace();
System.exit(1);
}
boolean decision = true;
do{
try{
System.out.println("Enter a char--");
System.out.println("You enterred: " + difs.readChar());
System.out.println("To Continue enter the character y");
char userInput = difs.readChar();
decision = ((userInput == 'Y') || (userInput == 'y'));
}catch(Throwable t){
}
}while(decision);
try{
difs.close();
}catch(Exception e){
try{
}finally{
System.out.println("An error occurred during stream closing - exiting program--");
System.exit(1);
}
}
}
}