1、 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。
2、由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。
3、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类型的数据。
4、Scanner的应用:
package execite;
import java.util.Scanner;
public class AverageTemperatures {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int count;
double next,sum,average;
sum=0;
//创建一个scanner对象
Scanner sc=new Scanner(System.in);
System.out.println("请输入七天的温度:");
for(count=0;count<7;count++){
//通过Scanner对象获得用户输入
next=sc.nextDouble();
sum+=next;
}
System.out.println(sum);
average=sum/7;
System.out.println("平均气温为:"+average);
}
}
结果如下: