java中Scanner类的用法

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类型的数据。

下面是一个实例:

1 import java.util.*;
2
3 public class Example {
4 public static void main(String args[]) {
5 System.out.println( "请输入若干个数,每输入一个数用回车确认");
6 System.out.println( "最后输入一个非数字结束输入操作");
7 Scanner reader = new Scanner(System.in);
8 double sum = 0;
9 int m = 0;
10 while (reader.hasNextDouble()) {
11 double x = reader.nextDouble();
12 m = m + 1;
13 sum = sum + x;
14 }
15 System.out.printf( "%d个数的和为%f\n", m, sum);
16 System.out.printf( "%d个数的平均值是%f\n", m, sum / m);
17 }
18 }

这是一个从1加到9的简单算数,Scanner从str字串中依次取出1-9这个数字,将它们相加,最后的输出结果是:
TOTAL:45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值