JAVA求最大值和最小值

我这和代码求最小值求不对啊 ,怎么回事啊package com.imooc;public class shuzu {public static void main(String[] args) { int[] scores=new int[]{61,23,4,74,13,148,20}; //声明一个数组,并分配空间赋初值 int max = scores[0];//假定最大值为数组中的第一个元素 int min =scores[0] ;//假定最小值为数组中的第一个元素 int sum=0; //累加值 double avg =0;//平均值 for(int i=0;i<scores.length;i++){//遍历数组中的元素 if(scores[i]>scores[0]){ //如果当前值大于max,则替换max的值 max = scores[i]; } } for(int n=0;n<scores.length;n++){//遍历数组中的元素 if(scores[n]<scores[0]){ min = scores[n]; } } for(int m=0;m<scores.length;m++){//遍历数组中的元素 sum+=scores[m]; } avg=sum/scores.length; System.out.println("数组中的最大值:"+max); System.out.println("数组中的最小值:"+min); System.out.println("数组中的平均值:"+avg);}}
2026年09月18日 05:53
有2个网友回答
网友(1):

最大值数组的scores[0]改成max


最小值数组的scores[0]改成min


如果你换成scores[0]他就一直是scores[0]

for(int i=0;iif(scores[i]>scores[0]){ //如果当前值大于max,则替换max的值
max = scores[i];

}

}
for(int n=0;nif(scores[n]min = scores[n];

}

}


改成

for(int i=0;iif(scores[i]>max){ //如果当前值大于max,则替换max的值
max = scores[i];

}

}
for(int n=0;nif(scores[n]min = scores[n];

}

}


评论我的那狗不是说不行么,试试去啊。lz可比你聪明多了

网友(2):

public class shuzu {
    public static void main(String[] args) {
        int[] scores = new int[] {
            61, 23, 4, 74, 13, 148, 20
        };
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        int sum = 0;
        double avg = 0;
        for (int i = 0; i < scores.length; i++) {
            int si = scores[i];
            if (si > max) {
                max = si;
            }
            if (si < min) {
                min = si;
            }
        }
        for (int m = 0; m < scores.length; m++) {  
            sum += scores[m];
        }
        avg = sum * 1.0 / scores.length;
        System.out.println("数组中的最大值:" + max);
        System.out.println("数组中的最小值:" + min);
        System.out.println("数组中的平均值:" + avg);
    }
}