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