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?
答案 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行的开头。