读取字符串时遇到麻烦

时间:2018-08-09 19:06:33

标签: java java.util.scanner

Scanner s = new Scanner(System.in)  
int x = S.nextInt();  
double y = S.nextDouble();  
S.nextLine();  //Why 
String z = S.nextLine();  

为什么在读取int和double之后需要输入S.nextLine()才能读取String?

1 个答案:

答案 0 :(得分:3)

如果您具有以下信息

Line 1: 1.0 2.0 4.0(you are currently here after reading the double 4.0) \n
Line 2: (you are here once you eat that '\n' character using readLine())

一旦存储了最后一位数字:4,您仍位于同一行(第1行)。您需要吃掉换行符。 s.nextLine()将读取到该行的末尾并返回空结果。完成后,扫描仪将位于第2行的开头。