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

这个有什么问题大神们

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+1] > nums[i])

        

            max = nums[i+1];

        

        

        

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

        if( nums[i+1] < nums[i] )

        

            min = nums[i+1];

              

        

        // 累加求和

        

        sum = sum +nums[i];

}

        

        // 求平均值

       avg = sum / 7 ;

        

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

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

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

}

}

这个有什么问题

正在回答

3 回答

你上面已经把最大值和最小值赋值给一个变量,下面if判断里面你用的nums[i]是不对的

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

慕哥5279571 提问者

是不是已经把num[0]赋值出去给一个变量了,那么num[0]里面就没有值了,所以不能拿来比较
2016-10-24 回复 有任何疑惑可以回复我~
#2

weixin_慕莱坞4034668 回复 慕哥5279571 提问者

是赋值给他,你的i是你定义的一个变量,用来循环你的数组,你的nums[0]是你数组的元素,已经是一个确定的值,代表的是你数组中的第一个值61.因为你要判断的是先把第一个赋值给最大,如果第一个大就赋值给最大。nums[i]中的i就是在遍历你数组的下标。
2016-10-24 回复 有任何疑惑可以回复我~

我写的代码 if (nums[i+1] > nums[i])

            max = nums[i+1];

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

        if( nums[i+1] < nums[i] )

         min = nums[i+1];

答案是  if ( nums[i] > max )       max = nums[i] ;

        if ( nums[i] < min )          min = nums[i] ;


像我写的那样有什么问题? 

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

编译错误还是运行错误?

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

举报

0/150
提交
取消

这个有什么问题大神们

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号