求解求解求解

来源:6-6 编程练习

杰杰郭果

2016-05-23 20:02

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

    max=nums[i] ;

}

        if(nums[i]<min){

            min=nums[i];

        }

        

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

        

        

        

        // 累加求和

        sum=sum+nums[i];

        

}

        

        // 求平均值

       avg=sum/7;

        

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

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

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

}

}

我想问的是if(max<num[i])

max=num[i];和

if(num[i]>max)

max=num[i]有什么区别

写回答 关注

4回答

  • 迷途小书童3255334
    2016-05-23 20:50:29
    已采纳

    if(nums[i]>max){

        max=nums[i] ;

    }

            if(nums[i]<min){

                min=nums[i];

            }

    这个才是你要问的吧?

    第一个已经解释了,就是根据题意,将数组nums中最大的值取出来,

    任何编程,都是用语言来编写的,所以,我们只要读懂了语言,就不会有什么问题

    第一个读为,如果,max大于数组中地nums[i]个数,那判断成立,吧nums[i]的值赋给max,最后,max一定是mums数组中最大的,用JAVA语言来说就是if(nums[i]>max)这句话


    第二个,是取他最小的数的,根据题意,如果nums[i]小于min,就将mums[i]的值赋给min,最后,min一定是数组mums中最小的,用JAVA语言来说就是if(nums[i]<min)这句话,

    因为判断条件不同,所以值不同,一个取最大数,一个取最小数


    如果赶紧对你有用的话,请采纳,谢谢


    迷途小书童3... 回复杰杰郭果

    这两个都是取的最小值,你运行结果中这两个的值为多少?

    2016-05-23 21:28:33

    共 7 条回复 >

  • 地中海岸线
    2016-05-23 23:09:27

    这两个求最大值的结果是不一样的:

    if(max<nums[i])//意思:假设数组中的某一个数为最大值(max),这个数小于数组里的任何一个数                                                                (nums[i]);

    max=nums[i];//当这个最大值(max),经过数组里的数比较之后,发现最后没有比147更大的数了,任何数都<147,

                              所以,结果就是把这个最大值147作为nums[i],并且把这个num[i]赋值给max.求出最大值。

    if(nums[i]>max) //意思:假设数组中的第一个数(nums[i]),java编程里的比较顺序就是这样,这个数大于这个数组已经赋值了的最大的数(max)=0,所以从这个角度讲以上数组都是大于0的;             

    max=nums[i]  //当这个数(nums[i])是最大的数时,把这个数赋值给了max;就题目整体代码而言,如果这样写最大值也是4。




    地中海岸线

    147改为148

    2016-05-23 23:10:38

    共 1 条回复 >

  • 迷途小书童3255334
    2016-05-23 20:37:52

    根据题意,它是让你第一个数为最大数,所以

    if(max<nums[i])

    max=nums[i];

    读为,如果,max大于数组中地nums[i]个数,那判断成立,吧nums[i]的值赋给max,

    if(nums[i]>max)

    max=nums[i]

    这个,也是将max变为最大数,意思与前面的一样,没有多少区别

    没有什么区别,你要问的第二个是不是 if(nums[i]<min)这个啊?

    杰杰郭果

    求告诉

    2016-05-23 20:41:30

    共 2 条回复 >

  • 迷途小书童3255334
    2016-05-23 20:21:39

    你这里就没有num这个啊,你说的是nums吧?

    杰杰郭果

    对。哈哈。不要在意细节

    2016-05-23 20:27:31

    共 1 条回复 >

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

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

1167581 学习 · 18748 问题

查看课程

相似问题