An error occurs when using the scanner class to get input and to get int type and string type data consecutively.
New Scanner (system.in); SYSTEM.OUT.PRINTLN ("input int type"); int a = sc.nextint (); SYSTEM.OUT.PRINTLN ("input string type"= sc.nextline (); System.out.println (a); System.out.println (s);
System.out.println ("Run Complete");
Run the result, enter 5 after the return, run finished directly, the request input string is skipped .
Reason, enter 5 after the carriage return, by the system mistakenly judge is the request input s string. So the operation is complete.
Solution:
1) Use a new scanner object to get the string.
New Scanner (system.in); SYSTEM.OUT.PRINTLN ("input int type"); int a =new Scanner (system.in); SYSTEM.OUT.PRINTLN ("input string type"= sc2.nextline (); System.out.println (a); System.out.println (s); System.out.println ("Run Complete");
2) Add a nextline () to the Nextint and do not assign a value.
New Scanner (system.in); SYSTEM.OUT.PRINTLN ("input int type"); int a = sc.nextint (); Sc.nextline (); // do not assign, accept enter System.out.println ("Input string type"= sc.nextline (); System.out.println (a); System.out.println (s); System.out.println ("Run Complete");
Write Time: 2017-08-20 14:43:10
Modification Time: 2017-08-20 14:51:12
End
Incurable diseases: In Java, scanner consecutive get int and string type error occurred.