Scanner的使用
基础
- 可以获取用户的输入
- java.util.Scanner是Java5的新特征,我们可以通过Scanner来获取用户的输入
- 通过Scanner类的next()与nextLine获取输入的字符串,使用hasNext与hasNextLine来判断是否还有输入的数据
- io类不关会占用资源,养成关的习惯
//创建一个扫描器对象,用于接收键盘数据
//通过System.in接收数据,并创建一个Scanner类
Scanner scanner=new Scanner(System.in);
//判断是否有输入
if(scanner.hasNext())
{
//等待用户输入
String str=scanner.next();
String str=scanner.nextLine();
System.out.println("输出的内容"+str);
}
//io类不关会占用资源,养成关的习惯
scanner.close()
Scanner对象
-
next()
- 一定要读取到有效字符才可以结束
- 对输入有效字符之前的遇到的空白,next()会自动去掉
- 只有输入有效字符后将后面输入的空白作为分隔符或者结束符
- next()不能得到带有空白的字符串
-
nextline()
- 以回车键作为结束符
- 可以获得空白
进阶
- 接收指定类型的数据
//从键盘接受数据
int i = 0;
float f = 0.1f;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据");
if (scanner.hasNextInt()) {
i = scanner.nextInt();
System.out.println("输入的浮点数" + i);
} else {
System.out.println("输入的不是整数数据");
}
if (scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("输入的浮点数" + f);
} else {
System.out.println("输入的不是整数数据");
}
- 接收多个数据
- 使用while循环
//和
double sum = 0;
//输入数字的个数
int num= 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据");
//循环判断是否有变量
while(scanner.hasNextDouble()){
num++;
sum=sum+scanner.nextDouble();
}
System.out.println(num+"个数的和:"+sum);
System.out.println(num+"个数的平均值:"+sum/num);
scanner.close();

浙公网安备 33010602011771号