package 流程控制;
import java.util.Scanner;
public class Scanner进阶 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//此处别忘了
int i = 1;
float f = 1.0f; //这俩作用应该是设定一个变量?
System.out.println("请输入整数");
//if...else 如果...否则
if(scanner.hasNextInt()){ //如果输入的是整数 .后面的是方法
i = scanner.nextInt(); //将i赋值为输入的整数
System.out.println("整数数据:"+i); //如果输入的是整数,则输出
}else{ //否则
System.out.println("输入的不是整数");//如果输入的不是整数,则输出
}
if(scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小数数据:"+f);
}else{
System.out.println("输入的不是小数");
}
scanner.close();
/*此处,若第一次输入没有错误,则会继续正常运行第二个if语句,继续等待第二个语句的数值输入
即:
请输入整数
1
整数数据:1
1.0
小数数据:1.0
若第一次输入错误,则会直接运行第二个语句,也就是说,没有输入,直接第二个的if输出结果
即:
请输入整数
0.1
输入的不是整数
小数数据:0.1
或:
请输入整数
a
输入的不是整数
输入的不是小数
*/
}
}
==============================================================
package 流程控制;
import java.util.Scanner;
//通过输入多个数字,求其总和与平均数,每输入一个数字用回车确定,通过输入非数字结束循环并输出最终结果(虽然我已经在其中加上了每次输入的结果输出了)
public class Scanner进阶2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//没啥好说的,记住就完事了
double d = 0;//赋值
int i = 0;//这个是用于计算输入数字个数的
while (scanner.hasNextDouble()){ //while循环语句,会不停循环其中的语句,直到不符合方法或者循环被打破
double x = scanner.nextDouble(); //设置变量等于输入的数
++i; //相当于i=i+1,即每输入一个数这里就+1,计算输入数字个数
d = d + x; //这边就是计算总值,让每次新输入的值加到总和里,覆盖上一个值
System.out.println("你输入了"+i+"个数据,其总和为"+d+"平均值为"+(d/i)); //输出语句
}
System.out.println(i+"个数的和为"+d); //输出语句 i就是输入了几个数,d就是总和
System.out.println(i+"个数的平均数为"+(d/i)); //输出语句 平均数=总和/个数
scanner.close();
}
}