A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 聪明一只哈 中级黑马   /  2016-5-23 06:26  /  396 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.Scanner的概述和方法介绍
                构造方法:
                        public Scanner(InputStream source);
                        Scanner sc = new Scanner(System.in);
                        //System类下有一个静态的字段
                        //public static final InputStream in; 标准的输入流,接受的是键盘录入
                成员方法:
                        public boolean hasNextInt()
                                判断是否还有下一个输入项,其中Int可以换成 Double ,Float ,Long 等等.
                        public int nextInt()
                                获取下一个输入项,其中Int可以换成 Double ,Float ,Long 等等.
        2.Scanner获取数据出现的小问题及解决方案
                常用2个方法:
                        public int nextInt():
                                获取一个int类型的值
                        public String nextLine():
                                获取一个String类型的值,回车键结束
                        /*public String next():
                                获取一个String类型的值,空格,tab,回车键结束
                                next()方法不能得到带空格的字符串。(了解)*/
                注意:
                        当你使用nextInt()接收一个整数之后,再用nextLine()方法接收一个字符串
                        会发生一个小小的问题(nextLine()无法接受,程序直接结束了)
                        原因:
                        nextInt()只能接收int类型数据,输入完成之后的回车(\r\n)会被nextLine()获取,
                        且nextLine()以\r\n判断输入是否结束,所以nextLine()遇到了\r\n认为该结束了.
                        解决方案:
                                1.先获取一个数值后,在创建一个新的键盘录入对象获取字符串
                                2.把所有的数据都先按照字符串获取,然后转成对应的数据类型(推荐)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马