小白求解答 6.6中的练习题

来源:6-6 编程练习

慕粉3712586

2016-07-28 17:51

想问一下这个题求平均值为什么不能是avg=sum/(i+1);

写回答 关注

6回答

  • 616516334
    2016-08-08 10:50:10

    第一:小编是将 i 定义在for 内部  无法用于for以外;

    第二:请问您avg=sum/(i+1)中的 i  等于几?  i 是变量   i= 1 ,2 ,3,4 ········并不等于需要的除数

    (本人是初学者 ,以上为自己的看法  如有不对,请见谅 ,并且希望可以指出来。)

  • 紫铃听风
    2016-08-02 23:33:27

    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(max<nums[i])

            {max=nums[i];}

            else if(min>nums[i])

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

            {min=nums[i];}

            

            

            // 累加求和

            sum=sum+nums[i];

            

            // 求平均值

           avg=sum/(i+1);}

            

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

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

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

    }

    }

    这样才行,可以i+1,不过这样大括号就得在  avg=sum/(i+1);  后面,而不是在sum=sum+nums[i];后面了,如果avg=sum/nums.length;的话,大括号就是在sum=sum+nums[i];后面。前面几楼酱油可以

  • 望远
    2016-07-29 06:22:17

    首先for (int i = 0; i < nums.length; i++);

    变量i是定义在for循环内部的,因此该变量i只能在for循环语句块中使用

    //楼主可以将变量i定义在for循环外部,其次avg=sun/i;因为循环结束时i==nums.length.

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

            

            // 累加求和

     }

     avg=sum/i;

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

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

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

           

    }

    }

        


    共 1 条回复 >

  • 扎克悟空
    2016-07-28 18:33:33

    数组第一个元素下标是0,Array[0],如果最后一个元素是Array[3],那数组长度则是4。

  • MrYangxiutao
    2016-07-28 18:07:51

    从数组里取值,数组的下标是从0开始,到 数组中元素个数 - 1结束。

  • Kepler_stef
    2016-07-28 17:57:01

    一个数组里i个数,从【0】到【i-1】

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

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

1165172 学习 · 17581 问题

查看课程

相似问题