用Java程序编写成绩统计!急!

期末成绩统计为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]);
    }
}

img


 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);