Avatar ·

Scanner 在 nextInt() 或 nextDouble() 之后跳过 nextLine():如何修复?

大家好!我是 Java 新手,在使用 Scanner 时遇到了一个非常奇怪的问题。我写了一个简单的用户数据输入程序:先输入数字(年龄),然后输入字符串(姓名)。这是我的代码: ```java import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入年龄:"); int age = scanner.nextInt(); System.out.print("请输入姓名:"); String name = scanner.nextLine(); System.out.println("年龄:" + age + ", 姓名:" + name); } } ``` 运行时,输入年龄后程序立即输出“请输入姓名:”并打印结果,没有让我输入姓名。也就是说 name 变量是空的或只包含换行符。我试过改变顺序——先 nextLine(),再 nextInt()——这样就能正常工作。但我需要先输入数字,再输入字符串。问题出在哪里?为什么 Scanner 会跳过 nextLine()?