string - how to take char input before int input in java? -


public class pack1 {        public static void main(string ar[]) throws ioexception {        bufferedreader br = new bufferedreader(new inputstreamreader(system.in));       system.out.println("enter character");       char c=(char)br.read();       system.out.println(c);       system.out.println("enter integer");       long l=integer.parseint(br.readline());       system.out.println("long l="+l);        system.out.println(c);     } } 

let's user types x , presses enter on first question, types 123 , presses enter on second question, mean input stream contains following characters:

x  <cr>  1  2  3  <cr> 

when call read(), read x. when call readline(), read <cr> , blank string back.

the 1 2 3 <cr> still sitting unread in input stream.

solution: call readline() after reading x skip past rest of line, or use readline() read x string, instead of char.

fyi: exact same problem people keep having when using scanner , mixing calls nextline() calls other nextxxx() methods, nextint().


Comments

Popular posts from this blog

html - Styling progress bar with inline style -

java - Oracle Sql developer error: could not install some modules -

How to use autoclose brackets in Jupyter notebook? -