為什么平均值不對(duì)
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ??
// 定義一個(gè)整型數(shù)組,并賦初值
int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
? ? ? ??
int max = nums[0]; // 假定最大值為數(shù)組中的第一個(gè)元素
int min = nums[0]; // 假定最小值為數(shù)組中的第一個(gè)元素
double sum = 0;// 累加值
double avg = 0;// 平均值
? ? ? ??
for (int i = 0; i < nums.length; i++) { // 循環(huán)遍歷數(shù)組中的元素
? ? ? ? // 如果當(dāng)前值大于max,則替換max的值
? ? ? ? if (nums[i]>max)
? ? ? ? max = nums[i];
? ? ? ??
? ? ? ? // 如果當(dāng)前值小于min,則替換min的值
? ? ? ? if(nums[i]<min)
? ? ? ? min=nums[i];
? ? ? ??
? ? ? ? // 累加求和
? ? ? ? sum=sum++;
}
? ? ? ? // 求平均值
? ? ? ?avg=sum/nums.length;
? ? ? ??
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
}
? ? }
為什么平均值是0.0,不是49.0???
2016-11-08
//累加求和
sum=sum++;
上面你已經(jīng)定義了sum=0所以你這里的代碼是0累加了數(shù)組的長(zhǎng)度次,應(yīng)該改為sum+=nums[i];
2016-11-11
你移動(dòng)下
? ? ? ?avg=sum/nums.length;
? ? ? ??
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
輸出位置到下一個(gè)}下就可以