Java编写程序从键盘输入20个同学的成绩,成绩用数组存放,对输入的每一

Java编写程序从键盘输入20个同学的成绩,成绩用数组存放,对输入的每一个成绩判断是否大于等于0和下午等于100,有效的成绩存放入数组,最后计算20个同学的平均成绩

import java.util.Arrays;
import java.util.Scanner;

public class F {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        
        int a[]=new int[20];
        int total=0;
        for(int x=0;x<20;x++){
            System.out.println("请输入第"+(x+1)+"个学生成绩:");
            int score=sc.nextInt();
            while(score<=0||score>100){
                System.out.print("你输入的成绩必须是大于0,小于等于100才可,请重新输入:");
                score=sc.nextInt();
            }
            a[x]=score;
            total+=score;
        }
        int avg=total/20;
        
        System.out.println("20个学生成绩为:"+Arrays.toString(a));
        System.out.println("20个学生平均成绩为:"+avg);
    }
}

此程序没对输入字符串处理,输入字符串会报异常退出
结果运行一次:
请输入第1个学生成绩:
0
你输入的成绩必须是大于0,小于等于100才可,请重新输入:88
请输入第2个学生成绩:
66
请输入第3个学生成绩:
66
请输入第4个学生成绩:
77
请输入第5个学生成绩:
56
请输入第6个学生成绩:
99
请输入第7个学生成绩:
100
请输入第8个学生成绩:
999
你输入的成绩必须是大于0,小于等于100才可,请重新输入:66
请输入第9个学生成绩:
78
请输入第10个学生成绩:
43
请输入第11个学生成绩:
55
请输入第12个学生成绩:
66
请输入第13个学生成绩:
33
请输入第14个学生成绩:
22
请输入第15个学生成绩:
78
请输入第16个学生成绩:
98
请输入第17个学生成绩:
44
请输入第18个学生成绩:
26
请输入第19个学生成绩:
26
请输入第20个学生成绩:
68
20个学生成绩为:[88, 66, 66, 77, 56, 99, 100, 66, 78, 43, 55, 66, 33, 22, 78, 98, 44, 26, 26, 68]
20个学生平均成绩为:62

温馨提示:答案为网友推荐,仅供参考