求均值時,只能“avg=sum/nums.length;”不能“avg=sum/i;”這樣嗎?
如果不可以,為什么?能詳細(xì)說下嗎?
public class HelloWorld {
? ??
? ? 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ù)組中的元素
? ? ? ? // 如果當(dāng)前值大于max,則替換max的值
? ?
? ? ? ? if(nums[i]>max) max=nums[i];
? ? ? ??
? ? ? ? // 如果當(dāng)前值小于min,則替換min的值
? ? ? ? if(nums[i]<min) min=nums[i];
? ? ? ??
? ? ? ??
? ? ? ? // 累加求和
? ? ? ??
? ? ? ? sum=nums[i]+sum;
}
? ? ? ??
? ? ? ? // 求平均值
? ? ? ? avg=sum/nums.length; ?//avg=sum/i;不可以嗎?
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
}
}
2015-08-14
(剛剛百度到的~我覺得合理的一個解釋)
我們很常做的一件事就是在for循環(huán)里定義一個變量并初始化(如上面定義的i,初始化為1),這個變量有可能是為了做循環(huán)限制而定義的,而此時變量只做為for循環(huán)的局部變量
循環(huán)結(jié)束后就不能再使用i這個變量。
這是C99規(guī)定了一種新的for循環(huán)語法,這種語法也是從C++借鑒的,考慮到兼容性不建議使用這種寫法。
2015-08-13
sorry,剛才答錯了,知道原因了,要在循環(huán)開始的時候前int i=0,先定義這個i
2015-08-13
i=6,實際上是7個數(shù)
2015-08-13
嗯,小伙伴都在考慮中