自己输入,这个代码错在哪里呢

来源:6-6 编程练习

浴火重生37394

2021-11-20 12:52

int[] scores = new int[5];
System.out.println("请输入5个成绩:");
for(int j=1;j<=scores.length;j++){
    System.out.print("第"+j+"个学生的成绩:");
    scores[j] = new Scanner(System.in).nextInt();
}
int min = scores[0];
int max = scores[0];
double avg=0;
int sum=0;
for(int i=0;i<scores.length;i++){
    if(min>scores[i])
        min = scores[i];
    if(max<scores[i])
        max = scores[i];
    sum+=scores[i];
    avg = sum/(scores.length);
}
System.out.println("最小值:"+min);
System.out.println("最大值:"+max);
System.out.println("平均值:"+avg);



请输入5个成绩:
第1个学生的成绩:60
第2个学生的成绩:70
第3个学生的成绩:80
第4个学生的成绩:65
第5个学生的成绩:75
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
    at HelloWorld.main(HelloWorld.java:13)
与目标 VM 断开连接, 地址为: ''127.0.0.1:55891',传输: '套接字''

进程已结束,退出代码为 1

写回答 关注

3回答

  • Oracle13
    2022-02-09 13:57:36
    scores[j-1] = new Scanner(System.in).nextInt();
    可以这样试试,原来的是因为scores数组从第二个位置也就是scores[1]开始填充数据,数组超出界限报错


  • 慕设计0259544
    2022-01-18 12:16:25
    int[] scores = new int[5];
    System.out.println("请输入5个成绩:");
    //j应该从0开始,不然你之前定义的长度new int[5],就会从scores[1]开始,scores[0]就没了
    for(int j=0;j<scores.length;j++){
        System.out.print("第"+(j+1)+"个学生的成绩:");
        scores[j] = new Scanner(System.in).nextInt();
    }
    int min = scores[0];
    int max = scores[0];
    double avg=0;
    int sum=0;
    for(int i=0;i<scores.length;i++){
        if(min>scores[i])
            min = scores[i];
        else if(max<scores[i])
            max = scores[i];
        sum+=scores[i];
        avg = sum/scores.length;
    }
    System.out.println("最小值:"+min);
    System.out.println("最大值:"+max);
    System.out.println("平均值:"+avg);


    慕设计025...

    请输入5个成绩: 第1个学生的成绩:60 第2个学生的成绩:70 第3个学生的成绩:80 第4个学生的成绩:65 第5个学生的成绩:75 最小值:60 最大值:80 平均值:70.0

    2022-01-18 12:17:44

    共 1 条回复 >

  • weixin_慕仙1436736
    2021-11-20 15:17:53
     avg = sum/(scores.length);

    这里不用括号

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题