用java求解10个有效 成绩,如输入错误给出提示,并继续输入,并求解这10个有效成绩中的最大值、最小值。 注意本题仅需判定输入的数值是否在0~100之间的范围,其他输入错误的问题暂时不考虑。
时间: 2024-10-12 16:14:07 浏览: 19
在Java中,我们可以使用`Scanner`类来获取用户输入,然后通过循环和条件判断来处理这个问题。这里是一个简单的示例程序:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double[] scores = new double[10]; // 创建一个存储10个成绩的数组
int count = 0; // 记录有效的成绩数
while (count < 10) { // 循环直到收集到10个有效成绩
System.out.println("请输入第" + (count + 1) + "个成绩(0-100之间):");
try {
double input = scanner.nextDouble(); // 获取用户输入
if (input >= 0 && input <= 100) { // 判断输入是否在范围内
scores[count] = input;
count++;
} else {
System.out.println("输入错误,成绩必须在0到100之间,请重试!");
}
} catch (Exception e) {
System.out.println("输入错误,请输入数字!");
}
}
// 找出最大值和最小值
double maxScore = Collections.max(Arrays.asList(scores));
double minScore = Collections.min(Arrays.asList(scores));
System.out.println("10个有效成绩中,最大值是:" + maxScore);
System.out.println("10个有效成绩中,最小值是:" + minScore);
scanner.close();
}
}
```
在这个程序中,我们首先创建一个大小为10的数组来存放成绩。然后在一个循环里,持续询问用户的输入并检查其有效性。如果输入有效,则将其添加到数组中;否则,给出错误提示。最后,我们使用`Collections.max()`和`Collections.min()`函数找出最大值和最小值。
阅读全文