Scanner对象
笔记来自于狂神说Java
介绍
- java.util.Scanner 是 Java5的新特征,我们可以通过Scanner来获取用户的输入。
基本语法
Scanner s = new Scanner(System.in);
- 通过Scanner类的next() 与nextLine()方法来获取输入的字符串,在读取钱我们需要用hasNext() 与 hasNextLine() 半段是否还有输入的数据。
next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将后面输入的空白作为分隔符或者是结束符。
- next()不能得到带有空格的字符串。
nextLine():
- 以Enter为结束符 也就是说nextLine():方法返回的是输入回车之前的所有字符。
- 可以获得空白。
实际运用
初步运用
package com.Rain.scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象用于扫描键盘输入
Scanner scanner = new Scanner(System.in);
//System.in 为接收键盘输入
System.out.println("使用NEXT()方法接收");
//判断用户有没有输入字符串
if(scanner.hasNextLine()){
String string = scanner.nextLine();
System.out.println("输入的内容为"+string);
}
scanner.close();//关闭流
}
}
进阶运用
package com.Rain.scanner;
import java.util.Scanner;
public class Demo02 {
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()){
i = scanner.nextInt();
System.out.println("你输入的是"+i);
}
else {
if (scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("你输入的是" + f);
}
else System.out.println("请不要输入olaf");
}
scanner.close();
}
}
package com.Rain.scanner;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入几个数字,结束时请输入end");
double sum = 0;
int m = 0;
while (scanner.hasNextDouble())
{
m++;
sum+=scanner.nextDouble();
scanner.hasNextDouble();
}
System.out.println("这"+m+"个数的和为"+sum);
System.out.println("这"+m+"个数的平均值为"+sum/m);
scanner.close();
}
}
println(“这”+m+“个数的和为”+sum);
System.out.println(“这”+m+“个数的平均值为”+sum/m);
scanner.close();
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200511232834655.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTM4OTQ4OA==,size_16,color_FFFFFF,t_70)