作者:湛江耳鼻喉医院196_991 | 来源:互联网 | 2024-11-29 07:28
深入理解Scanner类
在Java编程中,Scanner
类是一个非常实用的工具,用于从标准输入(如键盘)读取不同类型的用户输入。本文将重点介绍 nextInt()
和 nextDouble()
方法的使用。
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner inputReader = new Scanner(System.in);
// 读取整数
System.out.print("请输入一个整数: ");
if (inputReader.hasNextInt()) {
int number = inputReader.nextInt();
System.out.println("您输入的整数是: " + number);
} else {
System.out.println("输入错误,这不是一个有效的整数!");
}
// 读取浮点数
System.out.print("请输入一个小数: ");
if (inputReader.hasNextDouble()) {
double decimal = inputReader.nextDouble();
System.out.println("您输入的小数是: " + decimal);
} else {
System.out.println("输入错误,这不是一个有效的小数!");
}
inputReader.close();
}
}
上述代码首先导入了 java.util.Scanner
包,创建了一个 Scanner
对象来读取用户的输入。程序会分别请求用户输入一个整数和一个小数,并检查输入的有效性。如果输入有效,则显示相应的消息;否则,提示用户输入无效。
扩展应用:计算一系列数字的总和和平均值
除了简单的读取单个数值外,Scanner
还可以用于处理连续的用户输入,例如计算一系列数字的总和和平均值。下面是一个示例:
import java.util.Scanner;
public class SumAndAverage {
public static void main(String[] args) {
Scanner inputReader = new Scanner(System.in);
double totalSum = 0;
int count = 0;
System.out.println("请输入一系列数字(输入非数字结束):");
while (inputReader.hasNextDouble()) {
double number = inputReader.nextDouble();
totalSum += number;
count++;
System.out.println("已输入第 " + count + " 个数字,当前总和: " + totalSum);
}
if (count > 0) {
double average = totalSum / count;
System.out.println(count + " 个数字的总和为: " + totalSum);
System.out.println(count + " 个数字的平均值为: " + average);
} else {
System.out.println("没有输入任何数字。");
}
inputReader.close();
}
}
在这个例子中,程序持续接受用户输入直到遇到非数字输入为止。它计算所有输入数字的总和及平均值,并在用户停止输入后显示这些信息。