编写一个程序,定义20个元素的整型一维数组用于存放0~100之间的成绩,输入一维数组的所有元素;输出一维数组所有元素(每个数保留1位小数,以空格分隔);分别统计它们中90分及以上、[80,90)分、[
时间: 2024-12-17 17:27:27 浏览: 5
定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩,输出高于平均成绩的序号。
编写一个简单的Java程序来满足上述需求:
```java
import java.util.Scanner;
public class GradeArray {
public static void main(String[] args) {
// 创建一个长度为20的整型一维数组
int[] scores = new int[20];
// 输入一维数组的所有元素
Scanner scanner = new Scanner(System.in);
System.out.println("请输入20个0~100之间的成绩:");
for (int i = 0; i < scores.length; i++) {
scores[i] = scanner.nextInt();
if (scores[i] > 100 || scores[i] < 0) {
System.out.println("错误!分数应为0到100之间。已跳过第" + (i+1) + "个输入.");
i--; // 跳过错误输入
}
}
scanner.close();
// 输出所有元素,保留1位小数,以空格分隔
System.out.printf("成绩列表(保留一位小数): %.1f ", Arrays.stream(scores).mapToDouble(Double::valueOf).toArray());
System.out.println();
// 统计并输出各个分数段的数量
int high90 = 0, eightyToNinety = 0, belowEighty = 0;
for (int score : scores) {
if (score >= 90) {
high90++;
} else if (score >= 80 && score < 90) {
eightyToNinety++;
} else {
belowEighty++;
}
}
System.out.println("90分及以上: " + high90);
System.out.println("[80, 90)分: " + eightyToNinety);
System.out.println("[0, 80)分: " + belowEighty);
阅读全文