怎样终止还有设置长度

编写程序代码,求班级数学平均成绩,具体要求如下:
接收给定的数据(如:4 88 43 43 98 #等,其中第一个数代表数组长度,其余数代表班级所有人数学成绩,# 号用于终止接收数据,这些数据用空格进行分隔),遇到 # 号终止接收;
求班级数学平均成绩,平均成绩用 double 类型表示。

参考我的文章

用String s ="4 88 43 43 98 #",再用split分割,把转型把数值加入,
判断遇到# break

原来你喜欢的是别人把代码写好给你,这样自己不思考有什么意思

使用 try-catch 机制;
遇到不合法的输入, 则会抛出异常, 此时, 我们跳出循环;

import java.util.Scanner;
import java.util.InputMismatchException;

class Major {
    public static void main(String[] argv) {
        Scanner scn = new Scanner(System.in);
        int cnt = 0;
        double res = 0.0;
        try {
            cnt = scn.nextInt();
        }
        catch (InputMismatchException e) {
            cnt = -1;
        }
        if (0 >= cnt) {
            scn.close();
            System.out.println("Wrong input!");
            return;
        }
        for(int i = cnt; i > 0; --i) {
            try {
                res += (double)scn.nextInt();
            }
            catch (InputMismatchException e) {
                break;
            }
        }
        scn.close();
        res /= cnt;
        System.out.println("Ave= " + res);
    }
}