(java)请问下面这个程序该怎么改才能满足输出🙂

输入若干考试分数,以输入-1结束;
输出均分,以及大于均分的成绩。

img

望采纳

public class Test {

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        while (true) {
            int input;
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入分数,以输入-1结束");
            input = scanner.nextInt();
            if (input == -1) {
                break;
            }
            list.add(input);

        }
        int size = list.size();
        int sum = 0;
        for (int i = 0; i < size; i++) {
            sum += list.get(i);
        }
        BigDecimal avg = divide(sum, size);
        System.out.println("平均分数是:" + avg);

        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < size; i++) {
            Integer integer = list.get(i);
            if (integer > avg.doubleValue()) {
                stringBuilder.append(integer);
                if (i < size - 1) {
                    stringBuilder.append(",");
                }
            }
        }
        if (stringBuilder.length() > 0) {
            System.out.println("大于平均分数的有:" + stringBuilder.toString());
        }


    }


    /**
     * @param divisor  除数
     * @param dividend 被除数
     * @return
     */
    public static BigDecimal divide(int divisor, int dividend) {
        BigDecimal a = new BigDecimal(divisor);
        BigDecimal b = new BigDecimal(dividend);
        return a.divide(b, 4, BigDecimal.ROUND_HALF_UP);
    }
}

把if语句放进while循环

1)number需要存储,即需要在while循环中存储每一个number;
2)求得均分后再遍历一次输出大于均分的nuber;
3)你的代码只能输出最后一次成绩是否大于均分。