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

为什么在算平均值时用这个表达式会报错:avg=sum/(i+1);求大神解析

public class lianxi2 {

public static void main(String[] args) {

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

 int max=nums[0];

 int min=nums[0];

 double sum=0;

 double avg=0;

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

 if(nums[i]>max){

 max=nums[i];

 }

 else if(nums[i]<min){

 min=nums[i];

 

 }

sum=sum+nums[i];

 }  

avg=sum/(i+1);

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

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

System.out.println("数组中平均值为"+avg);

}

}


正在回答

1 回答

i是for循环的局部变量,你的avg=sum/(i+1)    代码是在for之外的,代表什么呢?所以把分母改成nums.length

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

阳光一夏 提问者

i是for循环的局部变量,已经被赋予值了,for循环结束后,i这时应该是最后一次循环的值,循环终止后执行后面代码不能被使用吗?是这个原因吗?
2017-03-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在算平均值时用这个表达式会报错:avg=sum/(i+1);求大神解析

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