初学者疑惑

来源:6-6 编程练习

慕侠3919328

2017-03-19 20:03

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++) { // 循环遍历数组中的元素

if(nums[i]>max)

max=nums[i];

        // 如果当前值大于max,则替换max的值

if(nums[i]<min)

min=nums[i];

        

        // 如果当前值小于min,则替换min的值

        sum=nums[i]+sum;

        

        

        // 累加求和

    

        

}

        avg=sum/nums.length;

        // 求平均值

       

        

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

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

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

}

}

为什么把avg=sum/nums.length  改成avg=sum/i;不可以呢


写回答 关注

1回答

  • wlwzobc
    2017-03-19 20:23:46
    已采纳

    当然不可以了,i变量只是在for循环中起作用,虽然i的值已经等于nums.length,但是i是局部变量,for循环之外是访问不到的

    慕侠3919...

    非常感谢!

    2017-03-19 20:33:53

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1167352 学习 · 18630 问题

查看课程

相似问题