求解求解求解
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] ;
}
? ? ? ? if(nums[i]<min){
? ? ? ? ? ? min=nums[i];
? ? ? ? }
? ? ? ??
? ? ? ? // 如果當前值小于min,則替換min的值
? ? ? ??
? ? ? ??
? ? ? ??
? ? ? ? // 累加求和
? ? ? ? sum=sum+nums[i];
? ? ? ??
}
? ? ? ??
? ? ? ? // 求平均值
? ? ? ?avg=sum/7;
? ? ? ??
System.out.println("數組中的最大值:" + max);
System.out.println("數組中的最小值:" + min);
System.out.println("數組中的平均值:" + avg);
}
}
我想問的是if(max<num[i])
max=num[i];和
if(num[i]>max)
max=num[i]有什么區別
2016-05-23
if(nums[i]>max){
? ? max=nums[i] ;
}
? ? ? ? if(nums[i]<min){
? ? ? ? ? ? min=nums[i];
? ? ? ? }
這個才是你要問的吧?
第一個已經解釋了,就是根據題意,將數組nums中最大的值取出來,
任何編程,都是用語言來編寫的,所以,我們只要讀懂了語言,就不會有什么問題
第一個讀為,如果,max大于數組中地nums[i]個數,那判斷成立,吧nums[i]的值賦給max,最后,max一定是mums數組中最大的,用JAVA語言來說就是if(nums[i]>max)這句話
第二個,是取他最小的數的,根據題意,如果nums[i]小于min,就將mums[i]的值賦給min,最后,min一定是數組mums中最小的,用JAVA語言來說就是if(nums[i]<min)這句話,
因為判斷條件不同,所以值不同,一個取最大數,一個取最小數
如果趕緊對你有用的話,請采納,謝謝
2016-05-23
這兩個求最大值的結果是不一樣的:
if(max<nums[i])//意思:假設數組中的某一個數為最大值(max),這個數小于數組里的任何一個數 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(nums[i]);
max=nums[i];//當這個最大值(max),經過數組里的數比較之后,發現最后沒有比147更大的數了,任何數都<147,
? ? ? ? ? ? ? ? ? ? ? ? ? 所以,結果就是把這個最大值147作為nums[i],并且把這個num[i]賦值給max.求出最大值。
if(nums[i]>max)?//意思:假設數組中的第一個數(nums[i]),java編程里的比較順序就是這樣,這個數大于這個數組已經賦值了的最大的數(max)=0,所以從這個角度講以上數組都是大于0的; ? ? ? ? ? ??
max=nums[i] ?//當這個數(nums[i])是最大的數時,把這個數賦值給了max;就題目整體代碼而言,如果這樣寫最大值也是4。
2016-05-23
根據題意,它是讓你第一個數為最大數,所以
if(max<nums[i])
max=nums[i];
讀為,如果,max大于數組中地nums[i]個數,那判斷成立,吧nums[i]的值賦給max,
if(nums[i]>max)
max=nums[i]
這個,也是將max變為最大數,意思與前面的一樣,沒有多少區別
沒有什么區別,你要問的第二個是不是?if(nums[i]<min)這個???
2016-05-23
你這里就沒有num這個啊,你說的是nums吧?