utopiashow
2015-03-12 22:37
总和 sum+=nums[i]; 平均值 avg=sum/7;.............为什么会出现avg结果(数组中的平均值:44.714285714285715)
你直接将数组里的元素进行了修改,已经不再是最开始的数组了,平均数当然是错的。
嗯。一开始是这么写的,后来结果错误。又改成了7结果还是一样的。。。nums[i].length=7吧??
avg = sum / nums[i].length;
public class HelloWorld {
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++) { // 循环遍历数组中的元素 System.out.println(nums[i]);
// 如果当前值大于max,则替换max的值
if(nums[i]>max){
int temp=nums[i];
nums[i]=max;
max=temp;
}
// 如果当前值小于min,则替换min的值
if(nums[i]<min){
int temp=nums[i];
nums[i]=min;
min=temp;
}
// 累加求和
sum+=nums[i];
}
// 求平均值
avg=sum/7;
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
}
}
为什么我的浏览器不支持ctrl+v。。。崩溃了
你把你整段的代码贴出来看看?
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题