首页 > 其他 > 详细

关于Scanner中的next()和nextLine()连用的问题

时间:2020-03-21 14:36:27      阅读:43      评论:0      收藏:0      [点我收藏+]
        Scanner scanner=new Scanner(System.in);
        System.out.print("输入一个数:");
        int a=scanner.nextInt();
        System.out.print("请输入用户名:");
        String userName=scanner.nextLine();
        System.out.print("请输入密码:");
        String passWord=scanner.nextLine();
        if ((userName.equals("admin")&&passWord.equals("123"))||
                (userName.equals("zhangsan")&&passWord.equals("zhangsan123"))){
            System.out.println("登录成功");
        }else {
            System.out.println("登录失败");
        }

nextLine()是以回车作为结束符,nextLnt()是以空格作为结尾,按下enter键之后,a获取到值了,但enter还在上一行的末尾没有被获取。

于是userName就只会获取到上一行末尾的换行符

解决方法:

在获取userName之前,再调用一次nextLine()方法,就能正常获取到值

        scanner.nextLine();
        String userName=scanner.nextLine();
        System.out.print("请输入密码:");

关于Scanner中的next()和nextLine()连用的问题

原文:https://www.cnblogs.com/wzydblog/p/12538942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!