最大值小值都是20???謝謝哦
package?com.doit; public?class?It?{?public?static?void?main(String[]?args)?{? ???//?定義一個整型數(shù)組,并賦初值? ????int[]?nums?=?new?int[]?{?61,?23,?4,?74,?13,?148,?20?};? ????int?max?=?nums[0];?//?假定最大值為數(shù)組中的第一個元素? ????int?min?=?nums[0];?//?假定最小值為數(shù)組中的第一個元素? ????double?sum?=?0;//?累加值?? ????double?avg?=?0;//?平均值??? ????for?(int?i?=?0;?i?<?nums.length;?i++)?{?//?循環(huán)遍歷數(shù)組中的元素???? ?????//?如果當前值大于max,則替換max的值? ??????do{max=nums[i];}while(nums[i]>max);????? ??????//?如果當前值小于min,則替換min的值? ??????do{min=nums[i];}while(nums[i]<min);?? ???????//?累加求和?????? ??????sum=sum+nums[i];??}?? ??????//?求平均值? ??????avg=sum/nums.length;? ??????System.out.println("數(shù)組中的最大值:"?+?max); ????????System.out.println("數(shù)組中的最小值:"?+?min); ??????????System.out.println("數(shù)組中的平均值:"?+?avg);? ??????????}?}
為啥我的最大值和最小值輸出的結果都是20呀?循環(huán)哪里出問題了呀?求大神救助
2018-07-12
其實你如果一定要用while也不是不可以,可是你卻偏偏用了do-while,在循環(huán)開始前都會先執(zhí)行一次,所以你的最大值跟最小值才會都等于數(shù)組的最后一個。
2018-06-25
do
{max=nums[i];}
while
(nums[i]>max);
do
{min=nums[i];}
while
(nums[i]<min);?
這里寫if。寫循環(huán)干嘛。。
分別寫成:
if (max < nums[i]) max = nums[i];
if (min > nums[i]) min = nums[i];