JAVA Scanner进阶 + 小实战
2.1输入整数和小数
package Study;
import java.util.Scanner;
public class Demo11 {
public static void main(String[] args) {
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("输入的不是小数数据!");
}
}
}
输出的到结果
错误输入结果查看
2.2小练习:
输入数据求其平均值,每输入一个数据用回车确认,知道输入非数字时结束输入,执行输出.
用scanner.hasNextDouble()布尔值可判断输入的是否为数字
package Study;
import java.util.Scanner;
public class Demo12 {
public static void main(String[] args) {
//输入多个数字,求其总和的平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并执行结果
Scanner scanner = new Scanner(System.in);
//总和
double sum = 0;
//计算输入了多少个数字
int num = 0;
System.out.println("Input number:");
//通过循环判断是否还有输入,并在里面对每一次进行求和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
System.out.println("你输入的第"+ num + "个数当前结果为:"+ sum);
sum += x;//总和
num += 1;//数字个数
}
System.out.println(num + "个数的总和为:"+ sum);
System.out.println(num + "个数的平均值为:"+ (sum / num));
scanner.close();
}
}