Scanner是SDK1.5新增的一个类,但是使用该类创建一个对象.
Scanner reader=new Scanner(System.in);
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),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);
}
}
Scanner reader=new Scanner(System.in);
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:
上述方法运行时都会造成阻塞,等待用户在命令行输入数据回车确认.比如,拥护在键盘输入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()){
}
System.out.printf("%d个数的和为%f/n",m,sum);
System.out.printf("%d个数的平均值是%f/n",m,sum/m);
}
}