System.out.println("请输入学生id");
Long id=scanner.nextLong();
System.out.println("请输入学生名称");
String name=scanner.nextLine();
System.out.println("请输入学生年龄");
int age=scanner.nextInt();
输入id之后,按回车键,直接跳了请输入学生年龄
方法一.在后面增加scanner.nextLine(),读取\n
System.out.println("请输入学生id");
Long id=scanner.nextLong();
scanner.nextLine();
System.out.println("请输入学生名称");
String name=scanner.nextLine();
System.out.println("请输入学生年龄");
int age=scanner.nextInt();
方法二.重新创建Scanner对象
System.out.println("请输入学生id");
Long id=scanner.nextLong();
//重新创建Scanner对象
Scanner scanner1 = new Scanner(System.in);
System.out.println("请输入学生名称");
String name=scanner1.nextLine();
System.out.println("请输入学生年龄");
int age=scanner.nextInt();
当使用Scanner类在Java中获取用户输入时,如果先调用nextLong()或nextInt()后,输入的回车会被忽略,导致直接跳过nextLine()。解决方法是在nextLong()后添加scanner.nextLine()来消耗掉回车,或者创建新的Scanner对象来重新捕获输入。
462

被折叠的 条评论
为什么被折叠?



