Scanner的使用
.next()方法
package scanner;
import java.util.Scanner;
public class demo01 {
public static void main(String[] args) {
//创建一个新的扫描对象
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户输入
if (scanner.hasNext()) {
//使用next方式接收
String str = scanner.next();
System.out.println("输入的内容为:" + str);
}
//用完scanner之后关闭
scanner.close();
}
}
运行结果
![image]()
.nextLine方法
package scanner;
import java.util.Scanner;
public class demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if (scanner.hasNextLine()) {
String str = scanner.nextLine();
System.out.println("输入的内容为:" + str);
}
//关闭
scanner.close();
}
}
运行结果
![image]()
总结
next():
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next()不1. 1. 能得到带有空格的字符串
nextLine():
- 以Enter作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空白
Scanner的具体使用
利用scanner求和以及求平均数
package scanner;
import java.util.Scanner;
public class demo04 {
public static void main(String[] args) {
//输入多个数字,求其总和和平均数,每输入一次以回车确认,通过输入非数字来结束输入并输出执行结果
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//输入了多少数字
int n = 0;
//通过while循环来判断输入
while (scanner.hasNextDouble()) {
double x = scanner.nextDouble();
sum = sum + x;
n = n + 1;//n++
}
System.out.println(n + "个数的和为:" + sum);
System.out.println(n + "个数的平均数为" + sum / n);
scanner.close();
}
}
运行结果
![image]()