java学习之用户交互Scanner的进阶使用
Scanner
1.用户交互Scanner的进阶使用
- 之前我们学习了Scanner的基本语法并实现程序和人的交互, 这次我们通过Scanner 类与if,while语句来获取用户的输入。
-
基本语法:
Scanner s=new Scanner(System.in);
1.1 简单使用Scanner和if判断语句:
package scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//从键盘接收数据
int a=0;
float f=0.0f;
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入数据");
// 如果.....那么.....
if(scanner.hasNextInt()){
a= scanner.nextInt();
System.out.println("您输入的数据是:"+a );
}else {
System.out.println("您输入的数据不是整数!");
}
System.out.println("请输入小数数据");
// 如果.....那么.....
if(scanner.hasNextFloat()){
f=scanner.nextFloat();
System.out.println("您输入的小数数据为:"+f);
}else {
System.out.println("您输入的不是小数!");
}
scanner.close();
}
}
运行结果
请您输入数据
11
您输入的数据是:11
请输入小数数据
7.7
您输入的小数数据为:7.7
1.2 简单使用Scanner和while循环语句:
package scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
// 我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
//计算输入了多少个数字
int a=0;
//和
double sum=0.0;
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入数据");
// 通过循环判断是否还有输入,并在里面对每一次进行求和和统计
while (scanner.hasNextDouble()){
double v = scanner.nextDouble();
a=a+1;//a++
sum=sum+v;
System.out.println("您输入了:"+a+"个数字和为:"+sum);
}
System.out.println("您一共输入了:"+a+"个数据");
System.out.println("数字总和为:"+sum+",平均数为:"+(sum/a));
scanner.close();
}
}
运行结果
请您输入数据
15
您输入了:1个数字和为:15.0
15
您输入了:2个数字和为:30.0
s
您一共输入了:2个数据
数字总和为:30.0,平均数为:15.0
1.3 更多参考
狂神说Java