1. 问题描述:
使用Scanner从控制台输入字符串时,先使用scanner.next();在使用scanner.nextLine()。最后发现,输入完scanner.next(),按下回车后,还没等输入scanner.nextLine()。程序就执行完了。
2. 出现原因:
next()是以 空白符(空格、制表符、回车) 结束的,而nextLine()是通过回车结束的。所以上面 输入完scanner.next(),按下回车后,回车就被紧接着的nextLine()接受了。
3. 解决办法:
输入完在 scanner.next();后面加上一个 专门吸收回车的 scanner.nextLine();
即,
Scanner in=new Scanner(System.in);
String s1=in.next();
in.nextLine();// 专门吸收回车符
String s2=in.nextLine();