怎么用java从键盘获取10名同学的成绩,计算他们的平均分,统计高于平均分的一共几人,低于平均分的一共几人?

如题所述

第1个回答  2024-01-07
要用Java从键盘获取10名同学的成绩,计算平均分,并统计高于和低于平均分的人数,可以使用`Scanner`类来读取输入,然后用数组或者`ArrayList`来存储成绩,接着进行计算和统计。以下是一个简单的实现例子:
```java
import java.util.Scanner;
public class StudentGrades {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int totalStudents = 10;
double[] grades = new double[totalStudents];
double sum = 0.0;
// 输入10名同学的成绩
for (int i = 0; i < totalStudents; i++) {
System.out.println("请输入第 " + (i + 1) + " 位同学的成绩:");
grades[i] = scanner.nextDouble();
sum += grades[i]; // 累加成绩
}

// 计算平均分
double average = sum / totalStudents;
System.out.println("平均分是: " + average);

// 统计高于和低于平均分的人数
int aboveCount = 0;
int belowCount = 0;
for (double grade : grades) {
if (grade > average) {
aboveCount++;
} else if (grade < average) {
belowCount++;
}
}

// 输出结果
System.out.println("高于平均分的人数: " + aboveCount);
System.out.println("低于平均分的人数: " + belowCount);
scanner.close(); // 关闭scanner
}
}
```
这段代码首先创建一个`Scanner`对象来读取用户的输入,然后通过一个`for`循环提示用户输入每位同学的成绩,并将这些成绩存储在一个数组中。同时将所有成绩累加起来以便计算平均分。
接着,计算平均分并将其输出。然后又用一个增强型`for`循环来遍历数组,统计高于和低于平均分的人数。最后,程序输出这两个统计值。
注意,在实际使用时,你可能还需要添加额外的错误检查来确保用户输入的是有效的成绩(比如非负数,可能还要限制一个合理的最大值)。此外,关闭`Scanner`对象的好时机通常在你确定不再需要任何输入时,因为在某些情况下,关闭`Scanner`可能会导致`System.in`流关闭,这会影响后续的输入操作。
相似回答
大家正在搜