1.Scanner 简介
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。
2.Scanner 作用
就是可以从输入流中读取指定类型的数据或字符串(说的再简单点,就是可以获取到从控制台输入的数据)。
3.Scanner 需要掌握的函数
1.next(): 只读取输入到空格,就是它不能读空格,一读到空格就结束读取,即不能读到空格之后的东西。
import java.util.Scanner;
public class Test2 {
public static void main(String[] agrs) {
Scanner scanner = new Scanner(System.in);
System.out.println("测试next()");
String str = scanner.next();
System.out.println("输出结果为:" + str);
}
}
2.nextLine(): 读取输入回车之前的所有字符。
import java.util.Scanner;
public class Test2 {
public static void main(String[] agrs) {
Scanner scanner = new Scanner(System.in);
System.out.println("测试nextLine()");
String str = scanner.nextLine();
System.out.println("输出结果为:" + str);
}
}
3. nextXxx(): 是用来读取不同类型数据。
比如:nextInt() 用于读取整型的数据
nextDouble() 用于读取整型的数据
nextFloat() 、nextLong()等等都是如此。
4. hasNextXxx(): 在输入的时候最好先使用此方法进行判断,再用nextXxx()来读取数据。
比如:scanner.hasNextInt() 判断输入的是否是整数
scanner.hasNextDouble() 判断输入的是否是小数
其他类推。
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 从键盘接收数据
int i = 0;
System.out.print("输入整数:");
if (scanner.hasNextInt()) {
// 判断输入的是否是整数
i = scanner.nextInt();
// 接收整数
System.out.println("整数数据:" + i);
} else {
// 输入错误的信息
System.out.println("输入的不是整数!");
}
}
}
5.end结束符,nextXxx() 是可以读取以回车为结束之前的内容,也可以是以end为结尾。
注意:nextLine() 没办法用end结束符。会默认为输入值读取。
import java.util.Scanner;
public class Test2 {
public static void main(String[] agrs) {
Scanner scanner = new Scanner(System.in);
double sum = 0, x;
int time = 0;
System.out.println("请输入一组数据: ");
//scanner.hasNextDouble()用于判断下一个是不是小数
while(scanner.hasNextDouble()) {
x = scanner.nextDouble();
sum += x;
time ++;
}
System.out.println(time + "个数据的和为" + sum);
System.out.println("平均值为:" + (sum/time));
}
}
注意: 为什么输入end呢,原本nextXxx() 是可以读取以回车为结束之前的内容,也可以是以end为结尾。但是在这里只能用end代表结束!