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

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

求最小值時為什么用min可以用nums[0]求出來的值不對啊

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]>nums[0]){
????	?max=nums[i];???
		}
????????
????????
????????//?如果當前值小于min,則替換min的值
????????if(nums[i]<nums[0]){
?????????min=nums[i];???
		}
????????
????????
????????//?累加求和
????????sum=sum+nums[i];
????????
		}
????????
????????//?求平均值
???????avg=sum/nums.length;
????????
		System.out.println("數組中的最大值:"?+?max);
		System.out.println("數組中的最小值:"?+?min);
????????System.out.println("數組中的累加值:"+sum);
		System.out.println("數組中的平均值:"?+?avg);
	}
}


正在回答

1 回答

你最小值是賦給min它才代表最小值 ,你求average的代碼也錯了,你那求出來是取整了應該這樣我覺得:avg=(sum/1.0)/nums.length;

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

夜舞天0 提問者

那為什么求max的時候可以啊
2016-05-21 回復 有任何疑惑可以回復我~
#2

慕粉3395070 回復 夜舞天0 提問者

你想想for語句執行完之后。意思是你想想他最后一次執行的是什么?是20<61,符合你寫的if(num[i]<num[0])所以輸出的肯定會是min=20,二最大值可以是因為循環的最后一次20是比61小的不符合你寫的if(nums[i]>nums[0]),所以應該把nums[0]分別改為max和min
2016-05-22 回復 有任何疑惑可以回復我~
#3

夜舞天0 提問者

謝謝,明白了
2016-05-26 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求最小值時為什么用min可以用nums[0]求出來的值不對啊

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

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

幫助反饋 APP下載

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

公眾號

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