Scanner流程控制进阶
scanner.hasNextInt();
scanner.hasNextFloat();
......
import java.util.Scanner;public class demo3 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int i = 0;float f = 0.0f;System.out.println("请输入整数:");if(sc.hasNextInt()){i=sc.nextInt();System.out.println("整数数据为:"+ i);}else {System.out.println("输入的并非整数");}System.out.println("请输入小数:");if(sc.hasNextFloat()){f=sc.nextFloat();System.out.println("小数数据为:"+ f);}else {System.out.println("输入的并非小数");}sc.close();}
}
案例:输入多个数字,求其总和与平均数,每输入一个数字使用回车确认,通过输入非数字结束输入并输出执行结果
import java.util.Scanner;public class demo4 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);double sum=0.0;int i=0;System.out.println("请输入数据:");while (sc.hasNextDouble()) {double x = sc.nextDouble();i=i+1;sum=sum+x;System.out.println("你输入了第"+ i +"个数据,"+"当前结果为"+sum);}System.out.println(i + "个数的和为" + sum);System.out.println(i + "个数的平均值为" + sum/i);sc.close();}}
