Scanner进阶使用
输入一些int或者float(小数)
和Next(),NextLine();用法差别不大
代码如下:
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//定义变量,从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.println("请输入整数");
if(scanner.hasNextInt()){//if.../如果...那么
i = scanner.nextInt();//和int使用同一变量,下同
System.out.println("你输入的整数为"+i);
}else{//else 否则(假如IF不成立则执行否则)
System.out.println("你输入的数据不是整数");
}
System.out.println("请输入小数");
if(scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("你输入的小数为"+f);
}
scanner.close();
}
}
实例图:
第一次手动输入了两次不同的数据,第二次则输入了一次。
Scanner里面使用while循环
代码如下:
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
//我们可以输入多个数字,并以回车键(enter)作为分隔符,以输入非数字作为结束符
Scanner scanner = new Scanner(System.in);
double sum = 0;//和
int m = 0;//输入数字的次数
//使用while循环判断是否还有输入,并在里面对每一次输入进行求和统计
while (scanner.hasNextDouble()){
double v = scanner.nextDouble();
m = m + 1;
sum = sum + v;
System.out.println(m);
}
System.out.println("你输出的数据总和为"+sum);
System.out.println("你输入数据的次数为"+m+"次");
System.out.println(m);
scanner.close();
}
}
实例图: