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();
posted @ 2021-09-05 23:43  貂蝉贼6  阅读(120)  评论(0)    收藏  举报