先看以下代码:
Scanner read = new Scanner(System.in);
int a = read.nextInt();
String str = read.nextLine();
System.out.println(a);
System.out.println(str);
试着输入:12、回车
发现程序终止了,直接输出了12,不能输入 str 了:
原因是 read() 不会跳过回车符,nextLine() 会读回车符,输完12后输入的那个回车符直接就被读到 str 中了,这时 str 是一个回车符并被输出,所以有个空行。
解决办法:在第三行之前调一次 nextLine(),读掉上一次的回车符。
可以利用这一特性,用 readLine() 读回车符,实现类似“按回车继续”等的操作。
时间: 2024-12-19 22:03:20