为了账号安全,请及时绑定邮箱和手机立即绑定

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


http://img1.sycdn.imooc.com//57aa8d1a00013ff110430602.jpg
求教大神帮我看一下

正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

          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);
            }
          }
        }

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信