求平均值的錯(cuò)誤
數(shù)組中的最大值:148 數(shù)組中的最小值:4 數(shù)組中的平均值:343.0 什么鬼?求指導(dǎo)。
源代碼:
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的值
? ? ? ? else if(nums[i]<min){
? ? ? ? ? ?min=nums[i];?
? ? ? ? }
? ? ? ? // 累加求和
? ? ? ? for(int j=0;j<nums.length;j++){
? ? ? ? ? ? sum=nums[j]+nums[j--]; ? ?
? ? ? ? }
? ? ? ??
}
? ? ? ??
? ? ? ? // 求平均值
? ? ? ?avg=sum/7;
? ? ? ??
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
}
}
2016-07-04
最后一個(gè)for循環(huán)要獨(dú)立出來(lái),不能在上一個(gè)for循環(huán)里。
2016-07-04
?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];??
??}
??????? if(nums[i]<min){
??????????? min = nums[i];
??????? }
??}
??? for(int j = 0;j < nums.length;j++){
???????????? sum += nums[j];
???????????? }
?????? avg = sum / nums.length;
???????
??System.out.println("數(shù)組中的最大值:" + max);
??System.out.println("數(shù)組中的最小值:" + min);
??System.out.println("數(shù)組中的平均值:" + avg);
?}
}
2016-05-21
因?yàn)槟氵@個(gè)累加求和是在前一個(gè)for循環(huán)語(yǔ)句下進(jìn)行的,所以被疊加了七次,你把累加求和的循環(huán)語(yǔ)句的大括號(hào)放第二個(gè)for,前面就沒(méi)問(wèn)題了
2016-05-21
?sum=sum+nums[i];
2016-05-21
avg=sum/nums.length;
2016-05-14