慕村4258447
2017-10-30 17:47
求avg为啥是:avg=sum/nums.length;
不能是:avg=avg/i;
avg的初始值是0,要是按你这个想法平均值一直就是0了,i是定义在循环里边的,应该算是局部变量吧,只能在循环里边使用,出了循环就不行了,你要是想avg=sum/i生效,你可以挪到循环里边去试试
你的i是定义在for循环里的,所以定义域就只能在for里面使用,你把i定义在for外面就行了,如果不知道定义域什么,简单来说就是这个变量所能作用到的范围
我估计是因为你的变量 i 是 for 循环里定义的,跳出循环后 i 就不存在了,所以你不能用 avg=sum/i 来计算。
稍作修改,是可以的,如:
int i = 0;
for (i=0;i<nums.length;i++){
......
}
avg = sum/i;
你要问的应该是 为啥不是 avg = sum/i 吧
avg一开始是没有值的啊,avg=avg/i此时电脑不知道avg的值是多少啊。你要用总数除以个数才能算出平均啊。
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题