nextLine()方法没有执行就直接跳过

当使用Scanner类在Java中获取用户输入时,如果先调用nextLong()或nextInt()后,输入的回车会被忽略,导致直接跳过nextLine()。解决方法是在nextLong()后添加scanner.nextLine()来消耗掉回车,或者创建新的Scanner对象来重新捕获输入。
摘要由CSDN通过智能技术生成

       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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值