一、scanner简介
是读取控制台输入的内容,他的创建方式是
Scanner scanner = new Scanner(System.in); //创建scarnner对像
scanner.close(); //用完记得关闭
二、scanner.hasNext() 和 scanner.hasNextLine() 的区别
首先来看他们的用法,以上方法是成对使用的:
1、scanner.hasNext() 和 scanner.next()
import java.util.Scanner;
public class Project {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = "";
System.out.println("请入一行文字");
if (scanner.hasNext()){
str = scanner.next();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
}
运行结果:
请入一行文字
hi my dear!
输出的内容为:hi
2、 scanner.hasNextLine() 和 scanner.nextLine()
import java.util.Scanner;
public class Project {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = "";
System.out.println("请入一行文字");
if (scanner.hasNextLine()){
str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
}
输出结果:
请入一行文字
hi my dear
输出的内容为:hi my dear
从以上结果来看
以上,scanner还有很多其他
举个例子,不停的输入整数,每个数字回车,直到输入非数字字符结束,计算输入数字的和以及平均数
import java.text.DecimalFormat;
import java.util.Scanner;
public class Project1 {
public static void main(String[] args) {
int sum = 0;
int count = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字,每个数字按回车确认,输入非数字结尾");
while (scanner.hasNextInt()) {
if (scanner.hasNextInt()) {
sum = sum + scanner.nextInt();
count = count + 1;
} else {
break;
}
}
if (count != 0) {
DecimalFormat decimalFormat = new DecimalFormat("0.00");
String average = decimalFormat.format((float) sum / count);
System.out.println("输入的和是:" + sum);
System.out.println("count的值是" + count);
System.out.println("平均值是:" + average);
} else {
System.out.println("不可以输入零个数字");
}
scanner.close();
}
}