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