期末成绩统计为65,89, 99, 89,68, 78, 58, 59, 43, 97, 96, 95, 84,83, 82, 75,91, 71, 84,82, 67, 92, 95, 99, 77, 83, 65。
成绩分段:
优秀:分数>=90
良好: 90>分数>=80
中等: 90 >分数>=70
及格: 70>分数>=60
不及格:分数< 60
要求:请利用java程序将成绩中的优秀,好,等,及格和不及格的人数分别统计出来并输出。
public class Test {
public static void main(String[] args) {
int[] score = {65, 89, 99, 89, 68, 78, 58, 59, 43, 97, 96, 95, 84, 83, 82, 75, 91, 71, 84, 82, 67, 92, 95, 99, 77, 83, 65};
int s;
int[] num = new int[5];
for (int i = 0; i < score.length; i++) {
s = score[i];
if (s >= 90) {//优秀
num[0]++;
} else if (s >= 80) {//良好
num[1]++;
} else if (s >= 70) {//中等
num[2]++;
} else if (s >= 60) {//及格
num[3]++;
} else {//不及格
num[4]++;
}
}
System.out.println("优秀人数:"+num[0]);
System.out.println("良好人数:"+num[1]);
System.out.println("中等人数:"+num[2]);
System.out.println("及格人数:"+num[3]);
System.out.println("不及格人数:"+num[4]);
}
}
int[] arr = {65,89, 99, 89,68, 78, 58, 59, 43, 97, 96, 95, 84,83, 82, 75,91, 71, 84,82, 67, 92, 95, 99, 77, 83, 65};
Map<String, Long> collect = Arrays.stream(arr).boxed().map(s -> {
String r;
if (s >= 90) {//优秀
r = "优秀";
} else if (s >= 80) {//良好
r = "良好";
} else if (s >= 70) {//中等
r = "中等";
} else if (s >= 60) {//及格
r = "及格";
} else {//不及格
r = "不及格";
}
return r;
}).collect(Collectors.groupingBy(k -> k, Collectors.counting()));
System.out.println(collect);