亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求解求解求解

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]有什么區別

正在回答

4 回答

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)這句話,

因為判斷條件不同,所以值不同,一個取最大數,一個取最小數


如果趕緊對你有用的話,請采納,謝謝


0 回復 有任何疑惑可以回復我~
#1

杰杰郭果 提問者

可能你還是誤解我的意思呢,if(nums<nim) min=nums;換成 if(min>nums) min=nums;結果是不一樣的,為什么不一樣
2016-05-23 回復 有任何疑惑可以回復我~
#2

迷途小書童3255334 回復 杰杰郭果 提問者

你用eclipse編寫的嗎?全部截圖過來,或者把源代碼全部發過來
2016-05-23 回復 有任何疑惑可以回復我~
#3

迷途小書童3255334 回復 杰杰郭果 提問者

結果肯定不一樣啊,第一個取的是最小值,第二個取的是最大值,
2016-05-23 回復 有任何疑惑可以回復我~
#4

迷途小書童3255334 回復 杰杰郭果 提問者

等等,我在看看
2016-05-23 回復 有任何疑惑可以回復我~
#5

杰杰郭果 提問者 回復 迷途小書童3255334

用myeclipse寫的。源代碼上面不是有嗎
2016-05-23 回復 有任何疑惑可以回復我~
#6

迷途小書童3255334 回復 杰杰郭果 提問者

你還是把全部的代碼發過來吧,這樣我才能看明白,就單單這兩個,都是將min取為最小值啊,這個要你全部的代碼,才能看出問題
2016-05-23 回復 有任何疑惑可以回復我~
#7

迷途小書童3255334 回復 杰杰郭果 提問者

這兩個都是取的最小值,你運行結果中這兩個的值為多少?
2016-05-23 回復 有任何疑惑可以回復我~
查看4條回復

這兩個求最大值的結果是不一樣的:

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。




0 回復 有任何疑惑可以回復我~
#1

地中海岸線

147改為148
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)這個???

0 回復 有任何疑惑可以回復我~
#1

杰杰郭果 提問者

這你都知道,牛
2016-05-23 回復 有任何疑惑可以回復我~
#2

杰杰郭果 提問者

求告訴
2016-05-23 回復 有任何疑惑可以回復我~

你這里就沒有num這個啊,你說的是nums吧?

0 回復 有任何疑惑可以回復我~
#1

杰杰郭果 提問者

對。哈哈。不要在意細節
2016-05-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167472    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

求解求解求解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號