java输入10位同学的某门课程的成绩,将其存入一数组中,求10位同学的平均分,并输出大于平均分的学生人数。
时间: 2024-03-09 08:47:08 浏览: 59
这个问题我已经回答过了,你可以参考上面的回答进行编写。这里再给你提供一种Java 8的写法,可以更加简洁地实现同样的功能:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] scores = new int[10]; // 定义存储成绩的数组
for (int i = 0; i < 10; i++) {
System.out.print("请输入第" + (i+1) + "位同学的成绩:");
scores[i] = in.nextInt();
}
double average = Arrays.stream(scores).average().orElse(0); // 计算平均分
long count = Arrays.stream(scores).filter(score -> score > average).count(); // 统计高于平均分的人数
System.out.println("平均分为:" + average);
System.out.println("高于平均分的人数为:" + count);
}
}
```
这里使用了Java 8中新增的Stream API,可以通过一行代码实现统计平均分和高于平均分的人数的功能。其中,`Arrays.stream(scores)`将数组转换为Stream流,`average()`方法求取平均值,`orElse(0)`方法表示如果数组为空,则返回0。`filter(score -> score > average)`过滤出高于平均分的成绩,`count()`方法统计数量。
阅读全文