用Java从键盘输入前6个月的工资,计算平均工资收入。如果数据输入类型错误,则捕获异常,显示提示信息。
时间: 2024-09-08 09:00:57 浏览: 70
在Java中,你可以使用Scanner类来获取用户从键盘输入的工资数据,然后遍历这个数组来计算平均值。这里是一个简单的示例,包括异常处理部分:
```java
import java.util.Scanner;
import java.util.InputMismatchException;
public class AverageSalary {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double[] salaries = new double[6];
System.out.println("请输入过去六个月每个月的工资(单位:元),按顺序输入6次:");
for (int i = 0; i < 6; i++) {
try {
// 捕获InputMismatchException异常
salaries[i] = scanner.nextDouble();
} catch (InputMismatchException e) {
System.out.println("输入错误,请输入数字!请重新尝试第 " + (i+1) + " 个月的工资。");
scanner.next(); // 清除非法输入的影响,继续接收下一个输入
continue;
}
}
if (salaries != null && salaries.length == 6) {
double average = calculateAverage(salaries);
System.out.printf("过去的六个月平均工资收入为: %.2f 元。\n", average);
} else {
System.out.println("输入的数据不完整,无法计算平均工资。");
}
scanner.close();
}
private static double calculateAverage(double[] salaries) {
double sum = 0;
for (double salary : salaries) {
sum += salary;
}
return sum / salaries.length;
}
}
```
在这个程序中,我们首先创建了一个长度为6的工资数组,然后通过循环逐个读取用户的输入,并处理可能出现的`InputMismatchException`。如果输入的是非数字,我们会提示用户并清除该输入,然后跳过当前循环,继续下一轮输入。最后,如果所有输入都有效,我们将计算平均值并打印出来。
阅读全文