這個交換和老師的答案那個好點 有什么不同呢
public class HelloWorld {
? ??
? ? public static void main(String[] args) {
? ? ? ??
// 定義一個整型數(shù)組,并賦初值
int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
? ? ? ??
int max = nums[0]; // 假定最大值為數(shù)組中的第一個元素
int min = nums[0]; // 假定最小值為數(shù)組中的第一個元素
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){
? ?int t=nums[i];
? ?nums[i]=max;
? ?max=t;
}else if(nums[i]<min){
? ?int z=nums[i];
? ?nums[i]=min;
? ?min=z;
}
? ? ? ??
? ? ? ??
? ? ? ? // 如果當(dāng)前值小于min,則替換min的值
? ? ? ??
? ? ? ??
? ? ? ? sum+=nums[i];
? ? ? ? // 累加求和
? ? ? ??
? ? ? ??
}
? ? ? ??
? ? ? ? // 求平均值
? ? ? ? avg=sum/nums.length;
? ? ? ??
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
}
}
2017-07-25
你的更麻煩一點,老師求最大最小都是直接num[i]賦值給max跟min,你多了一個步驟。老師代碼在哪。。。
2017-07-25
你的這個交換改變了數(shù)組里的值,這個題只是要找出數(shù)組中的最大值和最小值,并不是要你對數(shù)組進(jìn)行排序。并且像你這樣改變數(shù)組以后,找最大的時候改變一次,最小的時候又改變一次,難免會出現(xiàn)問題。