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= sum + nums[i];
}
// 求平均值
avg=sum/i;
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
}
for中的i的作用于只存在于for循环中,出了for循环就跟没定义一样,而nums.length是组数的长度,所以除以nums.length才是正确的
for循环中定义的i是在for循环这个作用域中,for循环结束i就被回收了,相当于没有定义过,你在外面使用一个没有定义过的变量,怎么可能会有用。
i属于局部变量,在for循环结束后,i就是未定义的变量了,所以会报错的。
i是你for循环定义的值好不好,nums.length才是数组的长度,你epl不出错吗,i都没定义
因为i只是一个索引,索引不是具体的值。
i初始值为0,除数为0肯定报错;平均数应除以数组的长度