Java
5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类
之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定
类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于
Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器
Scanner是 SDK1.5新增的一个类,可是使用该类创建一个对象.
Scanner reader=new Scanner(System.in);
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.例如,拥护在键盘输入
12.34,hasNextFloat() 的值是true,而hasNextInt()的值是false. NextLine()等待用户输入一个文
本行并且回车,该方法得到一个 String类型的数据。
下面是一个实例:
import java.util.*;
public class Example{
public static void main(String args[]){
System.out.println(" 请输入若干个数,每输入一个数用回车确认");
System.out.println("最后输入一个非数字结束输入操作");
Scanner reader=new Scanner(System.in);
double sum=0;
int m=0;
while(reader.hasNextDouble()){
double x=reader.nextDouble();
m=m+1;
sum=sum+x;
}
System.out.printf("%d 个数的和为%f\n",m,sum);
System.out.printf("%d个数的平均值是%f\n",m,sum/m);
}
}
运行结果:
C:\java>java Example请输入若干个数,每输入一个数用回车确认最后输入一个非数字结束输入操作34.13445d3个数的和为113.1000003个数的平均值是37.700000
C:\java>另一个例子,读取并分析文本文件:hrinfo.txt,文本文件的内容如下:老赵,28,feb-01,true小
竹,22,dec-03,false阿波,21,dec-03,false凯子,25,dec-03,true 程序: import
java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class readhuman {
private static void readfile(String filename) {
try {
Scanner scanner = new Scanner(new File(filename));
scanner.useDelimiter(System.getProperty("line.separator"));
while (scanner.hasNext()) {
parseline(scanner.next());
}
scanner.close();
}catch (FileNotFoundException e) {
System.out.println(e);
}
}
private static void parseline(String line) {
Scanner linescanner = new Scanner(line);
linescanner.useDelimiter(",");
//可以修改usedelimiter参数以读取不同分隔符分隔的内容
String name = linescanner.next();
int age = linescanner.nextInt();
String idate = linescanner.next();
boolean iscertified = linescanner.nextBoolean();
System.out.println("姓名:"+name+" ,年龄:"+ age+" ,入司时间:"+ idate+" ,验证标记:"+iscertified );
}
public static void main(String[] args) {
if (args.length != 1) {
System.err.println("usage: java readhuman file location");
System.exit(0);
}
readfile(args[0]);
}
}
运行结果:C:\java>java readhuman hrinfo.txt姓名:老赵 ,年龄:28
,入司时间:feb-01 ,验证标记:true姓名:小竹 ,年龄:22 ,入司时间:dec-03 ,验证标记:false姓名:阿波 ,年龄:21
,入司时间:dec-03 ,验证标记:false姓名:凯子,年龄:25 ,入司时间:dec-03 ,验证标记:true
分享到:
相关推荐
Scanner的另一个亮点在于其极高的用户友好性,它通过提供两个注册表文件("Add Scanner to Context Menu.reg"和"Delete Scanner from Context Menu.reg"),使用户可以轻松地将Scanner的扫描功能集成到Windows右键...
【IISPutScanner1.3原版】是一个针对IIS(Internet Information Services)服务器的安全扫描工具,主要用于检测和预防通过PUT方法进行的非法文件上传。PUT是HTTP协议中的一种方法,允许客户端将文件上传到服务器。...
RTLSDR-Scanner-1.3.2.zip 是一个包含C++编程语言实现的软件工具,主要用于配合RTL-SDR(Realtek低成本软件定义无线电)设备进行射频扫描。RTLSDR Scanner是一款实用的开源软件,它允许用户探索并检测周围环境中不同...
【IISPutScanner增强版】是一款专为网络安全专业人士设计的工具,主要用于检测和利用IIS(Internet Information Services)服务器的潜在漏洞。IIS是微软公司提供的一个强大的Web服务器软件,广泛应用于各种网络环境...
**Advanced-IP-Scanner** 是一款专业的局域网扫描工具,专为网络管理员和普通用户设计,用于快速、准确地探测局域网内的IPv4地址。这个软件的主要功能是发现并列出所有连接到同一网络的设备,从而帮助用户了解网络...
标题"IISPutScanner+IISWrite"涉及到的是两个在网络安全领域中常见的工具,主要用于渗透测试。IISPutScanner和IISWrite是针对Microsoft Internet Information Services (IIS) Web服务器进行安全评估的工具。 IISPut...
【IISPutScanner增强版】是一款专为网络管理员设计的工具,主要用于扫描和检测IIS(Internet Information Services)服务器上是否存在PUT方法漏洞。PUT方法在HTTP协议中用于上传文件到服务器,但不恰当的配置可能...
在本文中,我们将深入探讨如何利用Ionic框架和优化版的QRScanner插件实现高效的条码和二维码扫描功能。 首先,Ionic是一款基于Angular的开源框架,用于构建跨平台的原生移动应用。它允许开发者使用Web技术(如HTML...
《局域网IP扫描器Advanced IP Scanner:洞察网络细节》 Advanced IP Scanner是一款高效实用的局域网IP扫描工具,专为用户提供详尽的网络设备信息。它能够快速地扫描并列出网络上的所有设备,包括计算机名、IP地址、...
【标题】:Ethernet/IP Scanner Demo1.zip 【描述】中的知识点: Ethernet/IP(Ethernet for Industrial Protocol)是一种基于TCP/IP协议栈的工业网络通信协议,由Rockwell Automation开发,广泛应用于工业自动化...
3. **初始化配置**:运行`sonar-scanner -Dsonar.projectKey=<项目键> -Dsonar.sources=<源代码路径>`进行初始化配置,其中项目键用于唯一标识项目,源代码路径指明待分析的代码所在位置。 4. **执行扫描**:使用`...
SonarScanner CLI,全称SonarQube Scanner Command Line Interface,是SonarQube平台的一部分,主要用于执行代码质量分析。这个名为"sonar-scanner-cli-4.2.0.1873-linux.zip"的压缩包文件,包含了适用于Linux操作...
ASML.Scanner 光刻机介绍 ASML.Scanner 光刻机是半导体制造行业中的关键设备, Plays a crucial role in the semiconductor manufacturing industry。下面是该设备的知识点总结: 一、Course Introduction * ...
**高级 IP 扫描器(Advanced IP Scanner)**是一款强大的网络诊断和管理工具,专为IT专业人士设计,用于快速、高效地扫描局域网(LAN)中的所有设备和资源。这款软件能够帮助用户发现网络上的所有活动设备,包括计算机...
### Scanner类的用法 #### 一、简介与基本用法 `Scanner`类是Java SDK 1.5版本引入的新特性,它提供了一种方便的方式来读取基本数据类型(如int、double)以及字符串类型的数据。在Java中,通过`java.util.Scanner...
本篇文章将深入探讨"sonar-scanner-cli-5.0.1.3006-linux"的特性、安装与使用方法,以及在Linux环境下如何高效地集成到开发流程中。 首先,SonarScanner 5.0.1.3006是该客户端的一个特定版本,它带来了诸多增强功能...
IIS Put Scanner v1.1是一款针对IIS的特定扫描工具,主要关注的是服务器上的写权限。写权限决定了用户或程序能否在服务器上创建、修改或删除文件。不恰当的权限设置可能导致安全漏洞,黑客可以利用这些漏洞上传恶意...
该资源"sonar-scanner-cli-3.3.0.1492-macosx.zip"是SonarScanner的命令行接口版本,专为macOS操作系统设计,为开发者提供了一种简单而有效的方式来集成和执行代码分析。 SonarScanner的核心功能在于其静态代码分析...
虚拟扫描仪Virtual Twain Scanner是一款专门用于模拟物理扫描仪功能的软件工具,它可以在没有实体扫描设备的情况下,通过计算机软件实现图像数据的获取。这款工具主要面向开发者,提供了32位和64位版本,以适应不同...
Java Deserialization Scanner 是一款针对Java反序列化漏洞的检测和利用工具,它是Burp Suite中的一个插件。这款插件的目的是帮助安全研究人员检测应用程序中可能存在的Java反序列化漏洞,这些漏洞可能导致远程代码...