66Scanner类用法详解

Posted fesng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了66Scanner类用法详解相关的知识,希望对你有一定的参考价值。

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

以上是关于66Scanner类用法详解的主要内容,如果未能解决你的问题,请参考以下文章

Scanner的基本用法

Java - scanner类:正确用法

Scanner类的简单用法介绍!

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

java中scanner类的用法

java if else 用法