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

请指出我的问题,在eclips里面也没有报错啊

int[] num = new int[] { 61, 23, 4, 74, 13, 148, 20 };

int min = num[0];                     //设定第一个值最小

int max = num[num.length-1];  //设定最后一个值最大

double sum = 0;

double avg = 0;

        for(int i=0;  i<num.length;  i++) {

            if(num[i]<num[i++]) {

               min=num[i];

            }else {

               max=num[i];

            }

            sum+=num[i];

            avg=sum/num.length;

        }

       

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

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

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


正在回答

5 回答

int max = num[num.length-1]; length-1 改成int max = num[4];不就行了吗


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

avg=sum/num.length要放到最后一个大括号的外面,不然你这句代码就被包括在循环中了

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

错在avg=sum/num.length;

num.length不能当做一个数来运算的,for里面是可以提取它的值用于比较而已

你可以定义一个变量用于记录总共有多少个数字

至于你说的为什么都要设置为num[0],是因为从第一个数开始往后比较,简便计算

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

        int[] num ={ 61, 23, 4, 74, 13, 148, 20 };

        int min = num[0];

        int max = num[0];

        double sum = 0;

        double avg = 0;

        Arrays.sort(num);

        min= num[0];

        max=num[num.length-1];

        for (int i=0;i<num.length;i++) {

        sum += num[i];

        avg = sum / num.length;

        }


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

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

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

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

KABOKUO 提问者

为什么要将最大值,最小值都设为num[0]的位置呢?我用最小值是[0],最大值[num.length-1]不可以吗?
2018-01-04 回复 有任何疑惑可以回复我~

int[] num = new int[] { 61, 23, 4, 74, 13, 148, 20 };

int min = num[0]; // 设定第一个值最小

int max = num[0]; // 设定最后一个值最大

double sum = 0;

double avg = 0;

for (int i = 0; i < num.length; i++) {

if (min > num[i]) {

min = num[i];

}

if (max < num[i]) {

max = num[i];

}

sum += num[i];

avg = sum / num.length;

}


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

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

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


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

举报

0/150
提交
取消

请指出我的问题,在eclips里面也没有报错啊

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