为什么只循环一次

来源:6-6 编程练习

慕姐0350497

2016-09-03 15:14

我的代码为什么只循环一次

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

    nums[i]=max;   

}  

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

        if(nums[i]<min){

        nums[i]=min;}

                // 累加求和

        sum+=nums[i];

             // 求平均值

       avg=sum/nums.length;

}

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

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

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

结果是61.61.61,想问问哪里出了问题。

写回答 关注

3回答

  • 十四亿人的男神3679228
    2016-09-03 15:27:15
    已采纳

     nums[i]=max;  nums[i]=min;写反了,max=nums[i]; min = nums[i];这样才对

  • 慕粉3908868
    2016-09-03 15:27:14

    不是执行了一次,而是第一次执行后,数组中其它的值都被重新赋值了61:nums[i]=max;   nums[i]=min;

  • 小宋同学101
    2016-09-03 15:25:27

    你的max 和min 的赋值语句写反了

    应该是max=nums【i】 min=nums【i】

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

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

1167347 学习 · 18629 问题

查看课程

相似问题