這個(gè)if后面多個(gè);,運(yùn)行結(jié)果數(shù)組最大值和最小值都為20,這是怎么運(yùn)行成20的呢
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+=nums[i];
? ? ? ??
}
? ? ? ??
? ? ? ? // 求平均值
? ? ? ? ? avg=sum/nums.length;
? ? ? ??
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
}
}
2017-09-23
其實(shí)這個(gè)很簡(jiǎn)單,你加了;后,if()就獨(dú)立出來(lái)了,就只是一個(gè)判斷,不管是還是否都沒(méi)動(dòng)作,然后繼續(xù)后面的賦值(跟if()無(wú)關(guān)了),所以運(yùn)行到最后max,min的值都等于nums的最后一個(gè)值
2017-09-23
if(.......){..........}
if后面沒(méi)分號(hào)
2017-09-23
你的代碼有bug
?if(nums[i]>max);
? ? ? ? ? ?max=nums[i]; ? ? ?
? ? ? ? // 如果當(dāng)前值小于min,則替換min的值
? ? ? ? ? ?if(nums[i]<min);
? ? ? ? ? ?min=nums[i];
這段代碼的if(...)后面不應(yīng)該加“;”