java nextLine无效
时间: 2024-01-21 21:04:19 浏览: 67
在Java中,Scanner类的nextLine()方法通常用于读取完整的用户输入行。但是有时候调用nextLine()方法可能会出现无效或异常的情况。这通常是由于在调用nextLine()方法之前,使用了其他的Scanner类方法(如next()、nextInt()等)而导致的。
解决这个问题的方法是在调用nextLine()方法之前先调用一个空的nextLine()方法来清除输入缓冲区。例如:
```java
import java.util.Scanner;
public class ReadInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
// 读取完整的输入行之前,需要先调用一个空的nextLine()方法来清除输入缓冲区
scanner.nextLine();
System.out.print("Enter your age: ");
int age = scanner.nextInt();
System.out.println("Your name is " + name + " and you are " + age + " years old.");
scanner.close();
}
}
```
在这个示例中,我们在调用nextInt()方法之前先调用了一个空的nextLine()方法来清除输入缓冲区。这样就可以避免nextLine()方法无效的情况了。
阅读全文