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

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

請教大家,這段代碼為什么求出來的平均值那么大???


http://img1.sycdn.imooc.com//57aa8d1a00013ff110430602.jpg
求教大神幫我看一下

正在回答

4 回答

學了幾節課之后,我覺得看到注釋寫如果什么什么,第一要想到的是if條件句.求平均值大應該就是你的for循環里又有一個for循環,外循環執行一遍,內循環執行一圈.要是在20行加個斷點的話,應該就能看明白了.

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

求sum時不需要循環,已經有一個大循環了,直接sum=sum+nums[i];就行了

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

?? ??? ?? 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的值
?? ??? ??? ??? ??? ?sum=0; //將每次遍歷的和歸0,防止每次循環數值累加
?? ??? ??? ??? ??? ?while(max<nums[i]){
?? ??? ??? ??? ??? ??? ?max=nums[i];
?? ??? ??? ??? ??? ?}?? ??? ????? ?
?? ??? ???????? // 如果當前值小于min,則替換min的值
?? ??? ??? ??? ??? ?while(min>nums[i]){
?? ??? ??? ??? ??? ??? ?min=nums[i];
?? ??? ??? ??? ??? ?}?? ??? ??????? ??? ??????? ?
?? ??? ???????? // 累加求和
?? ??? ??? ??? ??? ?for(int j=0;j<nums.length;j++){
?? ??? ??? ??? ??? ??? ?sum=sum+nums[j];
?? ??? ??? ??? ??? ?}?? ??? ???????? ?
?? ??? ???????? // 求平均值
?? ??? ??????? avg=sum/nums.length;
?? ??? ??? ??? ?System.out.println("數組中的最大值:" + max);
?? ??? ??? ??? ?System.out.println("數組中的最小值:" + min);
?? ??? ??? ??? ?System.out.println("數組中的平均值:" + avg);
?? ??? ??? ?}
?? ??? ?? }
?? ??? ?}

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

找了半天,發現是21行一個大括號的問題

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

舉報

0/150
提交
取消

請教大家,這段代碼為什么求出來的平均值那么大???

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

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

幫助反饋 APP下載

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

公眾號

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