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

風雨兼程
TA貢獻10條經(jīng)驗 獲得超26個贊
for最后一次循環(huán)時,i=nums.length=6,所以i+1=7,nums[i+1]超出了數(shù)組長度,所以會報ArrayIndexOutofBoundary異常! ? ? ? ? ? ? ? ? ? ? ? ? ? ?

土地luminous
TA貢獻1條經(jīng)驗 獲得超1個贊
你這數(shù)組越界了吧,nums[i+1]這里越界了,想簡單改的話就是把for循環(huán)中的?i < nums.length-1;就可以了

慕少3946439
TA貢獻1條經(jīng)驗 獲得超0個贊
else{
sum=sum+nums[i+1];
}
我想你不能這樣寫,你想啊,如果數(shù)組是1,2,3,4,5,6,7的話 max是為7了min是為1了 但是中間的數(shù)卻沒有付給sum最后sum只會是max+min
添加回答
舉報
0/150
提交
取消