请教大家,这段代码为什么求出来的平均值那么大???

来源:6-6 编程练习

源_代_码

2016-08-10 10:11


http://img.mukewang.com/57aa8d1a00013ff110430602.jpg
求教大神帮我看一下
写回答 关注

4回答

  • 34416912
    2016-08-18 09:04:46

    学了几节课之后,我觉得看到注释写如果什么什么,第一要想到的是if条件句.求平均值大应该就是你的for循环里又有一个for循环,外循环执行一遍,内循环执行一圈.要是在20行加个断点的话,应该就能看明白了.

  • 慕粉3667391
    2016-08-14 17:13:59

    求sum时不需要循环,已经有一个大循环了,直接sum=sum+nums[i];就行了

  • 慕粉3772087
    2016-08-10 23:05:52

              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的值
                        sum=0; //将每次遍历的和归0,防止每次循环数值累加
                        while(max<nums[i]){
                            max=nums[i];
                        }              
                    // 如果当前值小于min,则替换min的值
                        while(min>nums[i]){
                            min=nums[i];
                        }                            
                    // 累加求和
                        for(int j=0;j<nums.length;j++){
                            sum=sum+nums[j];
                        }                 
                    // 求平均值
                   avg=sum/nums.length;
                    System.out.println("数组中的最大值:" + max);
                    System.out.println("数组中的最小值:" + min);
                    System.out.println("数组中的平均值:" + avg);
                }
              }
            }

  • 源_代_码
    2016-08-10 10:16:03

    找了半天,发现是21行一个大括号的问题

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

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

1165172 学习 · 17581 问题

查看课程

相似问题