求平均值的錯誤
數組中的最大值:148 數組中的最小值:4 數組中的平均值:343.0 什么鬼?求指導。
源代碼:
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++) { // 循環遍歷數組中的元素
? ? ? ? // 如果當前值大于max,則替換max的值
if(nums[i] >max){
? ? ? max=nums[i]; ??
}
? ? ? ? // 如果當前值小于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("數組中的最大值:" + max);
System.out.println("數組中的最小值:" + min);
System.out.println("數組中的平均值:" + avg);
}
}
2016-07-04
最后一個for循環要獨立出來,不能在上一個for循環里。
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("數組中的最大值:" + max);
??System.out.println("數組中的最小值:" + min);
??System.out.println("數組中的平均值:" + avg);
?}
}
2016-05-21
因為你這個累加求和是在前一個for循環語句下進行的,所以被疊加了七次,你把累加求和的循環語句的大括號放第二個for,前面就沒問題了
2016-05-21
?sum=sum+nums[i];
2016-05-21
avg=sum/nums.length;
2016-05-14