2.Scanner的进阶使用

 1 package com.duan.scanner;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Demo04 {
 6     public static void main(String[] args) {
 7         Scanner scanner = new Scanner(System.in);
 8 
 9         //从键盘接收数据
10         int i = 0;
11         float f= 0.0f;
12 
13         System.out.println("请输入整数:");
14 
15         //如果...那么
16         if(scanner.hasNextInt()){
17             i=scanner.nextInt();
18             System.out.println("整数数据:"+i);
19 
20         }else {
21             System.out.println("输入的不是整数数据!");
22         }
23 
24         System.out.println("请输入小数:");
25 
26         //如果...那么
27         if(scanner.hasNextFloat()){
28             f=scanner.nextFloat();
29             System.out.println("小数数据:"+f);
30 
31         }else {
32             System.out.println("输入的不是小数数据!");
33         }
34         scanner.close();
35     }
36 }
37 
38 结果:
39 请输入整数:
40 10
41 整数数据:10
42 请输入小数:
43 10.1
44 小数数据:10.1
45 
46 
47 请输入整数:
48 10.1
49 输入的不是整数数据!
50 请输入小数:
51 小数数据:10.1
看源代码:
 
通过Scanner就可以写一些和程序交互的东西了:
 
 1 package com.duan.scanner;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Demo05 {
 6     public static void main(String[] args) {
 7 
 8         //我们需要输入多个数字,并求其总数和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
 9         Scanner scanner = new Scanner(System.in);
10 
11         //
12         double sum = 0;
13         //计算输入了多少个数字
14         int m = 0;
15 
16         //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
17         while (scanner.hasNextDouble()) {
18             double x = scanner.nextDouble();
19             m = m + 1;//m++
20             sum = sum + x;//sum+=x
21             System.out.println("你输入了第" + m + "个数据,当前结果sum=" + sum);
22         }
23 
24         System.out.println(m + "个数的总和为" + sum);
25         System.out.println(m + "个数的平均数是" + (sum / m));
26 
27         scanner.close();
28     }
29 }
30 consle控制台结果:
31 10
32 你输入了第1个数据,当前结果sum=10.0
33 20
34 你输入了第2个数据,当前结果sum=30.0
35 hah
36 2个数的总和为30.0
37 2个数的平均数是15.0
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/duanfu/p/12222066.html