【66】Scanner类用法详解
2016-07-03 17:16
281 查看
Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。
public final class Scanner extends Object implements Iterator<String>, Closeable
可见,Scanner是没有子类的。
在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考:
构造方法:
public Scanner(File source) throws FileNotFoundException public Scanner(String source) public Scanner(InputStream source) //用指定的输入流来创建一个Scanner对象
Scanner reader=new Scanner(System.in);
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:
方法:
public void close() //关闭public Scanner useDelimiter(String pattern) //设置分隔模式 ,String可以用Pattern取代
public boolean hasNext() //检测输入中,是否,还有单词
public String next() //读取下一个单词,默认把空格作为分隔符
public String nextLine() //读行
nextByte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShort() 等方法
一、获取控制台输入
import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanner scn = new Scanner(System.in); System.out.println("Waiting input"); while (true) { String temp = scn.nextLine(); if (temp.trim().equals("exit")) { return; } System.out.println("Your input is: " + temp); } } }
通过new Scanner(Sysem.in)创建一个Scanner,控制台会一直等待输入,直到敲回车结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()(或者next())方法即可。
scanner可以允许输入多行
next() 每次取到一个间隔符前面的数据 如: 输入 Hello World 取值应该是Hello,因为Hello后面有空格 nextLine() 每次取一个换行符前面的数据 如:输入 Hello World 回车,取值 就是Hello World nextInt() 是取next() 然后把字符串解析成一个int数字。(此外,还有nextLong()、nextShort()方法,可参见API) hasNextInt() 是判断下次调用next()是否可以得到一个可以安全解析成int的字符串。如果已经到达输入的结尾,或者下一个next()的返回值不能解析为一个数字,即不符合数字的格式,那么返回false。
参考:
http://blog.csdn.net/yiyiwudian/article/details/46522415
http://blog.csdn.net/basycia/article/details/51112278
http://isunshine.blog.51cto.com/2298151/880038
我的微信二维码如下,欢迎交流讨论
欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!
微信订阅号二维码如下:
相关文章推荐
- Android Native 绘图方法
- Python动态类型的学习---引用的理解
- 只有程序员看的懂的面试圣经|如何拿下编程面试
- 下一次技术面试时要问的 3 个重要问题
- 土人系列AS入门教程 -- 对象篇
- 输入法的一些小技巧
- C#托管堆对象实例包含内容分析
- C#中struct和class的区别详解
- C#实现获取不同对象中名称相同属性的方法
- javascript asp教程第十一课--Application 对象
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)
- PowerShell中使用Out-String命令把对象转换成字符串输出的例子
- VBS ArrayList Class vbs中的数组类
- VBS教程:对象-正则表达式(RegExp)对象
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- Sql Server中存储过程中输入和输出参数(简单实例 一看就懂)
- C#检查指定对象是否存在于ArrayList集合中的方法
- C#实现的SN快速输入工具实例
- sql2008启动代理未将对象应用到实例解决方案
- C#编程自学之类和对象