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

正在回答

2 回答

你的if else明显问题啊·else是指只要不符合if后的语句条件··就执行else语句,所以当你的程序循环找到最大值之后,你的if语句永远都是false,便会一直执行else的min = num【i】 所以你得出的最小值是整个循环数组的最后一个值;你可以自己看看怎么改 不会再说!

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

北海rr 提问者

听君一席话,豁然开朗,多谢
2018-05-20 回复 有任何疑惑可以回复我~

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){

   int t=nums[i];

   max=t;

   nums[i]=max;

   

}

        

        

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

        else if(nums[i]<min){

            int t=nums[i];

             min=t;

             nums[i]=min;

            

        }

        

        

        // 累加求和

        sum+=nums[i];

        

}

        

        // 求平均值

       

        avg=sum/7;

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

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

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

}

}



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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165459    人
  • 解答问题       17585    个

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

进入课程

好神奇!!!!

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