这个是我的代码但是提示一直是Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at com.imooc.Array.main(Array.java:10)

来源:6-6 编程练习

qq_不唱流行歌曲的流天域_0

2016-12-10 10:08

package com.imooc;


public class Array {

public static void main(String[]args){  

int []score=new int []{61,23,4,74,13,148,20};

double plus=0;

double ave=0;

int max=score[0];

for(int i=0;i<=score.length;i++)

{if(score[i]>max)

max=score[i];

else

max=score[0];

}

System.out.println("数组中的最大值"+max);

int min=score[0];

for(int i=0;i<=score.length;i++)

{if(score[i]<min)

min=score[i];

else

min=score[0];

}

System.out.println("数组中的最小值"+min);

for(int i=0;i<=score.length;i++)

{

plus+=score[i];

}

ave=plus/4;

System.out.println("数组中的平均值"+ave);

}

}


写回答 关注

2回答

  • 懒zzr
    2016-12-10 10:17:47
    已采纳

    int []score=new int []{61,23,4,74,13,148,20};//定义了数组的长度为7

    for(int i=0;i<=score.length;i++)    //i <= score.length  i就可以取值7 就超出了数组的长度

    综上 把<=改成<就行了


    懒zzr 回复qq_不唱流...

    刚才没看到,if else的问题。把else和后面的内容去掉,具体为什么你可以DEBUG一下看看

    2016-12-10 10:59:34

    共 2 条回复 >

  • 懒zzr
    2016-12-10 10:59:53
    package com.baidu.zx;
    public class HomeTest {
    	public static void main(String[]args){  
    		int []score=new int []{61,23,4,74,13,148,20};
    		double plus=0;
    		double ave=0;
    		int max=score[0];
    		int min=score[0];
    		for(int i=0;i<score.length;i++){
    			if(score[i]>max)
    			max=score[i];
    		}
    		System.out.println("数组中的最大值"+max);
    		for(int i=0;i<score.length;i++){
    			if(score[i]<min)
    			min=score[i];
    		}
    		System.out.println("数组中的最小值"+min);
    		for(int i=0;i<score.length;i++){
    			plus+=score[i];
    		}
    		ave=plus / (score.length);
    		System.out.println("数组中的总和为"+plus);
    		System.out.println("数组中的平均值"+ave);
    	}
    }


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

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

1165619 学习 · 17587 问题

查看课程

相似问题