首页 > 代码库 > 关于 Scanner 的 nextLine( ) 方法

关于 Scanner 的 nextLine( ) 方法

先看以下代码:
  1. Scanner read = new Scanner(System.in);
  2. int a = read.nextInt();
  3. String str = read.nextLine();
  4. System.out.println(a);
  5. System.out.println(str);
试着输入:12、回车
发现程序终止了,直接输出了12,不能输入 str 了:
技术分享
 

原因是 read() 不会跳过回车符,nextLine() 会读回车符,输完12后输入的那个回车符直接就被读到 str 中了,这时 str 是一个回车符并被输出,所以有个空行。
解决办法:在第三行之前调一次 nextLine(),读掉上一次的回车符。

可以利用这一特性,用 readLine() 读回车符,实现类似“按回车继续”等的操作。

关于 Scanner 的 nextLine( ) 方法