黑马程序员技术交流社区

标题: 关于scanner…… [打印本页]

作者: 君嘘    时间: 2015-4-15 02:26
标题: 关于scanner……
我看论坛很多和我一样的萌新都有用sacnner这个类……
怎么毕老师的视频没有讲。
去到就业班后会讲这个么……
作者: ︶︿︶︶︿︶    时间: 2015-4-15 06:44
不要着急
作者: silencelj    时间: 2015-4-15 07:51
你查查API文档吧,里面有例子,百度可以的!
作者: minliang    时间: 2015-4-15 08:44
毕老师好像是没有讲啊,不知道重不重要
作者: 12300123    时间: 2015-4-15 09:47
毕老师是没有讲这个,还有一些内容毕老师也没讲的。Scnner用于键盘录入内容的。
作者: adalvik    时间: 2015-4-15 11:14
这个类没神马好讲的 看一下帮助文档就行了。。。
作者: 静心明德    时间: 2015-4-15 13:12
没事的,你多看看两个例子,就学会了,需要的时候运用而已。不需要担心什么
作者: 侯永凯    时间: 2015-4-15 20:26
可以去查看下API
作者: 446111220    时间: 2015-4-15 20:34
Scanner只是流里面的一小种   很简单   自己搜点视频看下就行   黑马也只是讲了一小部分而已   提了一下   没事  不碍事
作者: 最初的バ梦想    时间: 2015-4-15 20:50
你好,Scannery其实是API中long包下的一个类,
Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。

例如,以下代码使用户能够从 System.in 中读取一个数:

         Scanner sc = new Scanner(System.in);
         int i = sc.nextInt();
     

再看一个例子,以下代码使 long 类型可以通过 myNumbers 文件中的项分配:

          Scanner sc = new Scanner(new File("myNumbers"));
          while (sc.hasNextLong()) {
              long aLong = sc.nextLong();
          }

扫描器还可以使用不同于空白的分隔符。下面是从一个字符串读取若干项的例子:

         String input = "1 fish 2 fish red fish blue fish";
         Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
         System.out.println(s.nextInt());
         System.out.println(s.nextInt());
         System.out.println(s.next());
         System.out.println(s.next());
         s.close();

输出为:

         1
         2
         red
         blue

以下代码使用正则表达式同时解析所有的 4 个标记,并可以产生与上例相同的输出结果:

         String input = "1 fish 2 fish red fish blue fish";
         Scanner s = new Scanner(input);
         s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
         MatchResult result = s.match();
         for (int i=1; i<=result.groupCount(); i++)
             System.out.println(result.group(i));
         s.close();

扫描器所使用的默认空白分隔符通过 Character.isWhitespace 来识别。不管以前是否更改,reset() 方法将把扫描器分隔符的值重置为默认空白分隔符。

扫描操作可能被阻塞,而等待信息的输入。
其实如果还是不太理解的话还是从API中找到这个类 里面就有详细的注解,希望能帮到你 呵呵!!
作者: 84489556    时间: 2015-4-15 21:23
没事,挺简单的 查查api  就是一个键盘录入
作者: 君嘘    时间: 2015-4-15 23:22
嗯 懂了……谢谢各位。。。
作者: Kewin.java    时间: 2015-4-15 23:30
直接查API文档吧,老师不可能讲到每一个类,自己会找才是王道,以不变应万变。
作者: 马士基    时间: 2015-4-16 00:16
同感,好多得靠自己挖掘




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