Java Scanner
1 什么是Java Scanner
Java的Scanner类存放在java.util包下。Java提供了多种从键盘读取输入的方法,java.util.Scanner类就是其中之一。
Java Scanner类使用默认为空格的定界符将输入分为令牌。它提供了许多读取和解析各种原始值的方法。
Java Scanner类广泛用于使用正则表达式解析文本以获取字符串和原始类型。这是在Java中获取输入的最简单方法。借助Java中的Scanner,我们可以从用户那里获取基本类型的输入,例如int,long,double,byte,float,short等。
Java Scanner类继承Object类,并实现了Iterator和Closeable接口。
Java Scanner类提供nextXXX() 方法以返回值的类型,例如nextInt(),nextByte(),nextShort(),next(),nextLine(),nextDouble(),nextFloat(),nextBoolean()等。要从Scanner获取单个字符,可以调用next()。charAt(0)方法,该方法返回单个字符。
2 Java Scanner的语法
public final class Scanner
extends Object
implements Iterator
3 如何获取Scanner对象
要获取从用户读取输入的Java Scanner实例,我们需要在Scanner类的构造函数中传递输入流(System.in)。例如:
Scanner in = new Scanner(System.in);
要获取解析字符串的Java Scanner实例,我们需要在Scanner类的构造函数中传递字符串。例如:
Scanner in = new Scanner("Hello Yiidian");
4 Java Scanner的构造方法
构造方法
描述
Scanner(File source)
构造一个新的Scanner,该Scanner生成从指定文件扫描的值。
Scanner(File source, String charsetName)
构造一个新的Scanner,该Scanner生成从指定文件扫描的值。
Scanner(InputStream source)
构造一个新的Scanner,该Scanner生成从指定输入流中扫描的值。
Scanner(InputStream source, String charsetName)
构造一个新的Scanner,该Scanner生成从指定输入流中扫描的值。
Scanner(Readable source)
构造一个新的Scanner,该Scanner生成从指定来源扫描的值。
Scanner(String source)
构造一个新的Scanner,该Scanner生成从指定字符串扫描的值。
Scanner(ReadableByteChannel source)
构造一个新的Scanner,该Scanner生成从指定通道扫描的值。
Scanner(ReadableByteChannel source, String charsetName)
构造一个新的Scanner,该Scanner生成从指定通道扫描的值。
Scanner(Path source)
构造一个新的扫描仪,该Scanner生成从指定文件扫描的值。
Scanner(Path source, String charsetName)
构造一个新的扫描仪,该Scanner生成从指定文件扫描的值。
5 Java Scanner的方法
方法
描述
此方法返回当前扫描器使用相匹配的分隔符的模式。
如果此扫描器有另一个标记在其输入此方法返回true。
如果在此扫描器输入信息中的下一个标记可以通过使用nextBigDecimal()方法被解释为一个BigDecimal,该方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextBigInteger()方法被解释为一个BigInteger的默认基数,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextBigInteger()方法被解释为一个BigInteger指定基数此方法返回true。
如果在此扫描器输入信息中的下一个标记可以解释为使用从字符串“true|false”创造了一个不区分大小写模式的布尔值,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextByte()方法被解释为一个字节值的默认基数此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextByte()方法被解释为一个字节值指定基数,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以解释为使用nextDouble()方法的一个double值,此方法返回true。
此方法返回true,如果在此扫描器输入信息的下一个标记可以使用nextFloat()方法解释为浮点值。
如果在此扫描器输入信息中的下一个标记可以使用nextInt()方法被解释为一个int值的默认基数,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextInt()方法被解释为一个int值指定基数,此方法返回true。
如果有另一行在此扫描器的输入,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextLong()方法被解释为一个long值的默认基数,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextLong()方法被解释为一个long值指定基数,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextShort()方法被解释为一个short值的默认基数,此方法返回true。
如果在此扫描器输入信息中的下一个标记可以使用nextShort()方法被解释为一个short值指定基数,此方法返回true。
此方法返回的最后一个IOException异常抛出此扫描器的基本可读。
此方法返回此扫描器的语言环境。
此方法返回此扫描器所执行的最后扫描操作的匹配结果。
此方法查找并返回来自此扫描器的下一个完整标记。
此方法返回下一个标记,如果它匹配从指定字符串构造的模式。
此方法扫描输入的下一个标记为一个BigDecimal。
此方法扫描输入的下一个标记为一个BigInteger。
此方法扫描输入的下一个标记成一个布尔值并返回该值。
此方法扫描输入的下一个标记为一个字节。
此方法扫描输入的下一个标记为double。
此方法扫描输入的下一个标记为float。
此方法扫描输入的下一个标记为int。
此方法前进此扫描器执行当前行,并返回跳过的输入信息。
此方法扫描输入的下一个标记为一个long。
此方法扫描输入的下一个标记为一个long。
此方法返回此扫描器的默认基数。
不受此实现迭代器所支持的删除操作。
此方法返回当前扫描器的字符串表示形式。
6 Java Scanner的例子
让我们看一个简单的Java扫描仪示例,我们从用户那里获得单个输入。通过in.nextLine()方法请求一个字符串。
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Scanner的例子
*/
import java.util.*;
public class Demo {
public static void main(String args[]){
Scanner in = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = in.nextLine();
System.out.println("Name is: " + name);
in.close();
}
}
输出结果为:
Enter your name: yiidian
Name is: yiidian
pacs java源码
转载文章标签 pacs java源码 java scanner Java 扫描输入 字符串 文章分类 Java 后端开发
-
Java IO - 源码: InputStream
本文主要从JDK 11 源码角度分析InputStream。
Java IO/NIO/AIO -
带三维重建和还原的PACS源码 C/S架构 医院PACS系统源码
PACS系统起源医学影像信息系统最初是从处理放射科的数字图像发展起来的。医学影像信息系统的前身是医学影像存档与通信系统(PACS,Picture Archiving & Communication System),最先推动PACS发展的动力来自于传统的相机厂家。这是因为当数字化浪潮到来的时候,他们首先就意识到这对他们的产品是一个不可逆转的巨大的冲击。 他们对各个厂家的设备连接能力有着最为清楚的了解;但作为传统的机械制造商,他们的计算机技术不够充足,对图像设备及图像处理也不够了解。
医学影像 图像处理 系统源码 源码 PACS医学影像系统源码 -
javascript 装载完成
最近用apache调试程序的时候总莫名其妙的出现JS错误, firebug查看JS显示JS根本就没加载完,还有图片显示不完整的问题如下图: 后在在网上找到了解决的办法: apache的一个bug造成的。到apache的主配置文件httpd.conf里将下面一条指令前的#去掉即可。 EnableSendf
javascript 装载完成 apache .htaccess linux 平台