java求解10个有效 成绩,如输入错误给出提示,并继续输入,并求解这10个有效成绩中的最大值、最小值。 注意本题仅需判定输入的数值是否在0~100之间的范围,其他输入错误的问题暂时不考虑。
时间: 2024-10-08 17:04:06 浏览: 40
java 输入一个数字组成的数组(输出该数组的最大值和最小值)
在Java中,你可以通过Scanner类获取用户的输入,同时利用循环结构遍历并验证成绩。这里是一个简单的示例程序:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] scores = new int[10];
int i = 0;
while (i < 10) {
System.out.println("请输入第 " + (i+1) + " 个成绩(0-100之间):");
try {
// 读取用户输入
scores[i] = scanner.nextInt();
// 验证输入是否在0到100之间
if (scores[i] < 0 || scores[i] > 100) {
throw new IllegalArgumentException("成绩应为0到100之间的整数!");
}
i++;
} catch (Exception e) {
// 如果输入无效,打印错误信息并重新请求输入
System.out.println(e.getMessage());
scanner.nextLine(); // 清除上一行的输入
}
}
// 找出最大值和最小值
int maxScore = scores[0];
int minScore = scores[0];
for (int score : scores) {
if (score > maxScore) {
maxScore = score;
} else if (score < minScore) {
minScore = score;
}
}
System.out.println("最大成绩是:" + maxScore);
System.out.println("最小成绩是:" + minScore);
scanner.close();
}
}
```
在这个程序里,我们首先创建一个长度为10的成绩数组,然后在一个while循环中,持续接收用户输入并检查其有效性。如果输入不在指定范围内,会抛出异常,捕获异常后提示用户重新输入。最后计算并输出最大值和最小值。
阅读全文