Scanner进阶使用
输入单个数字
package com.zhong.scanner;
public class Demno04{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
//从键盘接受数据
int i = 0;
float f = 0.0f; //表示是一个浮点数
System.out.printIn("请输入整数");
//如果。。。那么
if (scanner.hasNextInt.()) //判断scanner里是否还有下一个int
i = scanner.nextInt(); //int型数据赋值到i
System.out.printIn("整数数据:" + i ); //+ i 里面的加号是连接符
}else //否则
{System.out.printIn("输入的不是整数数据!");
}
System.out.printIn("请输入小数");
//如果。。。那么
if (scanner.hasNextFloat.()) //判断scanner里是否还有下一个int
f = scanner.nextFloat(); //int型数据赋值到i
System.out.printIn("小数数据:" + f ); //+ i 里面的加号是连接符
}else //否则
{System.out.printIn("输入的不是小数数据!");
}
scanener.close();
}
}
1. 运行结果
输入整数
10
整数数据:10
请输入小数:
1.1
小数数据:1.1
2. 运行结果
输入整数
10.1
输入的不是整数!
请输入小数:
小数数据:10.1
输入多个数字,求和,平均数
我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果;
package com.zhong.scanner;
public class Demno05{
public static void main(String [] args){
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果;
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//计算输入了多少数字
int m = 0;
//通过循环判断是否还有输入,并在里面对每一次进行和和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m=m+1; // m++
sum = sum + 1;
}
System.out.printIn(m + "个数的和为" + sum);
System.out.printIn(m + "个数的平均数为" + (sum/m));
scanner.close();
}
}
运算过程及结果
输入四个数
10
20
30
40
x
输出结果
4个数的和为100.0
4个数的平均数为25.0
加一个输出判断
package com.zhong.scanner;
public class Demno05{
public static void main(String [] args){
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果;
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//计算输入了多少数字
int m = 0;
//通过循环判断是否还有输入,并在里面对每一次进行和和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m=m+1; // m++
sum = sum + 1;
System.out.printIn("你输入了第" + m "个数据,输出结果为sum"+ sum);
}
System.out.printIn(m + "个数的和为" + sum);
System.out.printIn(m + "个数的平均数为" + (sum/m));
scanner.close();
}
}
运算过程及结果
输入四个数
10
你输入了第1个数据,输出结果为10
20
你输入了第2个数据,输出结果为30
30
你输入了第3个数据,输出结果为60
40
你输入了第4个数据,输出结果为100
x
4个数的和为100.0
4个数的平均数为25.0