为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

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 就超出了数组的长度

综上 把<=改成<就行了


0 回复 有任何疑惑可以回复我~
#1

qq_不唱流行歌曲的流天域_0 提问者

改完确实没问题了。但是输出结果是 数组中的最大值61 数组中的最小值20 数组中的平均值49.0 明显最大值和最小值错误了。 请问怎么回事?
2016-12-10 回复 有任何疑惑可以回复我~
#2

懒zzr 回复 qq_不唱流行歌曲的流天域_0 提问者

刚才没看到,if else的问题。把else和后面的内容去掉,具体为什么你可以DEBUG一下看看
2016-12-10 回复 有任何疑惑可以回复我~
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);
	}
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信