為什么只循環(huán)一次
我的代碼為什么只循環(huán)一次
public class HelloWorld {? ?
? ? public static void main(String[] args) {
? ? ? ??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){
? ? nums[i]=max; ??
}??
? ? ? ? // 如果當(dāng)前值小于min,則替換min的值
? ? ? ? if(nums[i]<min){
? ? ? ? nums[i]=min;}
? ? ? ??? ? ? ? // 累加求和
? ? ? ? sum+=nums[i];
? ? ? ??? ? ?// 求平均值
? ? ? ?avg=sum/nums.length;
}
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
結(jié)果是61.61.61,想問(wèn)問(wèn)哪里出了問(wèn)題。
2016-09-03
?nums[i]=max;? nums[i]=min;寫反了,max=nums[i]; min = nums[i];這樣才對(duì)
2016-09-03
不是執(zhí)行了一次,而是第一次執(zhí)行后,數(shù)組中其它的值都被重新賦值了61:nums[i]=max; ??nums[i]=min;
2016-09-03
你的max 和min 的賦值語(yǔ)句寫反了
應(yīng)該是max=nums【i】 min=nums【i】