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

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

求均值時,只能“avg=sum/nums.length;”不能“avg=sum/i;”這樣嗎?

如果不可以,為什么?能詳細說下嗎?

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];

? ? ? ??

? ? ? ? // 如果當前值小于min,則替換min的值

? ? ? ? if(nums[i]<min) min=nums[i];

? ? ? ??

? ? ? ??

? ? ? ? // 累加求和

? ? ? ??

? ? ? ? sum=nums[i]+sum;

}

? ? ? ??

? ? ? ? // 求平均值

? ? ? ? avg=sum/nums.length; ?//avg=sum/i;不可以嗎?

System.out.println("數組中的最大值:" + max);

System.out.println("數組中的最小值:" + min);

System.out.println("數組中的平均值:" + avg);

}

}


正在回答

4 回答

(剛剛百度到的~我覺得合理的一個解釋)
我們很常做的一件事就是在for循環里定義一個變量并初始化(如上面定義的i,初始化為1),這個變量有可能是為了做循環限制而定義的,而此時變量只做為for循環的局部變量

循環結束后就不能再使用i這個變量。

這是C99規定了一種新的for循環語法,這種語法也是從C++借鑒的,考慮到兼容性不建議使用這種寫法。

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

Jcoffeeing 提問者

非常感謝!
2015-08-24 回復 有任何疑惑可以回復我~

sorry,剛才答錯了,知道原因了,要在循環開始的時候前int i=0,先定義這個i

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

i=6,實際上是7個數

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

嗯,小伙伴都在考慮中

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

舉報

0/150
提交
取消

求均值時,只能“avg=sum/nums.length;”不能“avg=sum/i;”這樣嗎?

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

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

幫助反饋 APP下載

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

公眾號

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