黑马程序员技术交流社区

标题: Scanner注意事项 [打印本页]

作者: 王骥    时间: 2015-6-20 11:56
标题: Scanner注意事项
Scanner的注意事项
        以后在我们使用Scanner进行键盘输入的时候需要注意一个问题
        什么问题呢?
                   如果我先后在键盘上输入字符串和整型的数据的话是不会出现问题的
                   但先后在键盘上输入整型和字符串的数据的时候,就会出现问题

        例:
           Scanner sc = new Scanner(String[] args);

           System.out.println("请输入您的姓名:");
           String name = sc.nextLine();
           System.out.println("请输入您的年龄:");
           int age = sc.nextInt();
          
           System.out.println("您输入的姓名为:"+name);
           System.out.println("您输入的年龄为:"+age);

           由于这里面是先输入的是字符串后输入的是数字,所以不会出现问题

           Scanner sc = new Scanner(String[] args);

           System.out.println("请输入您的年龄:");
           int age = sc.nextInt();
           System.out.println("请输入您的年龄:");
           String name = sc.nextLine();
          
           System.out.println("您输入的姓名为:"+name);
           System.out.println("您输入的年龄为:"+age);

           由于这里面是先输入的是数字然后再输入字符串,就会出现问题,因为在输入第二个字符串数据之前,已经把回车当做一个字符串输入了,所以才会出现字符串录入没进去

           解决方案:
           Scanner sc1 = new Scanner(String[] args);
           System.out.println("请输入您的年龄:");
           int age = sc1.nextInt();

           Scanner sc2 = new Scanner(String[] args);
           System.out.println("请输入您的年龄:");
           String name = sc2.nextLine();
          
           System.out.println("您输入的姓名为:"+name);
           System.out.println("您输入的年龄为:"+age);

           第二种方案是先用字符串接受数字,然后把字符串转换成int类型,由于我们还没学习,先不做说明
作者: JJJD    时间: 2015-6-20 14:27
学习了......
作者: 1千克=1024克    时间: 2015-6-20 23:15
涨姿势列
作者: 晓月残魂    时间: 2015-6-20 23:36
Scanner sc = new Scanner(System.in);行不行啊
作者: 金亮0602    时间: 2015-6-20 23:56
学习了,以后使用还是要注意点儿
作者: 1958078929    时间: 2015-6-21 11:01
谢谢分享
作者: 几率收割    时间: 2015-6-21 12:18
学习了......
作者: Happe_Sun    时间: 2015-6-21 12:31
谢谢分享
作者: XXXK    时间: 2015-6-21 12:41
谢谢分享,尽管我现在看不懂
作者: 十五号的人生    时间: 2015-6-21 12:42
值得学习        
作者: 贾森    时间: 2015-6-22 23:12
谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2