java.util.Scanner 是java5的新特征,我们可以通过Scanner类来获取用户的输入。
基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextline()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还要输入的数据。
实例:
//创建一个扫描器对象,用于接收键盘的数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//接收用户的输入
String str = scanner.next(); //程序会等用户输入完毕
System.out.println("输入的内容为:"+str);
}
scanner.close();//关闭 凡是属于I/O流 都需要关闭
结果:
使用next方法接收
hello world(输入内容)
输入的内容为:hello
我们输入了hello world,但是他只输出了hello。
此实例验证了:next()不能得到带有空格的字符!
实例:
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接收");
//判断用户有没有输入字符串
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println(str);
}
scanner.close();
结果:
使用nextLine方法接收
hello world
hello world
我们输入了hello world,中间带空格,输出的结果也会把空格后的字符得到。
此实例验证了:nextLine()能得到带有空格的字符!
可以使用nextInt(),nextFloat(),....,来精确的获取其他类型的输入。同时也会有相对于的判断是否还有数据的hasNextInt(),hasNextFloat()。
实例:
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int i = 0;
float f = 0.0F;
System.out.println("清输入整数:");
//如果...那么
if (scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整数:"+i);
}else {
System.out.println("你输入的不是整数!");
}
System.out.println("清输入小数:");
if (scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小数:"+f);
}else {
System.out.println("你输入的不是小数!");
}
scanner.close();
输出结果:
清输入整数:
5
整数:5
清输入小数:
2.3
小数:2.3
要求:输入多个数字,并秋其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果。
代码如下:
//输入多个数字,并秋其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
Scanner scanner = new Scanner(System.in);
double sum = 0.0D;
int count = 0;
System.out.println("请输入数字(任意非数字结束运行。Enter进行下一个输入):");
while (scanner.hasNextDouble()){
double count1 = scanner.nextDouble();
sum = count1 + sum;
count++;
System.out.println("你输入了第:"+count+"个数据,当前的总和为:"+sum);
}
System.out.println(count+"个数字的总和:"+sum);
System.out.println(count+"个数字的平均数为:"+(sum/count));
scanner.close();
输出结果:
请输入数字(任意非数字结束运行。Enter进行下一个输入):
9
你输入了第:1个数据,当前的总和为:9.0
6
你输入了第:2个数据,当前的总和为:15.0
4
你输入了第:3个数据,当前的总和为:19.0
5
你输入了第:4个数据,当前的总和为:24.0
x
4个数字的总和:24.0
4个数字的平均数为:6.0
原文:https://www.cnblogs.com/yiwuwuyi/p/14949633.html