我不理解答案一模一样,为什么会部分正确。

import java.util.Scanner;

public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int []arr=new int[10];
for(int i=0;i<10;i++) {
arr[i]=in.nextInt();
}
int max=0,min=0,s=0,sum=0;
for(int i=0;i<10;i++) {
if(i==0) {
max=min=arr[0];

        }
        if(arr[i]>max) {
            max=arr[i];
        }
        if(arr[i]<min) {
            min=arr[i];
        }
        if(arr[i]%2==0) {
            s+=arr[i];
            sum++;
        }
    }
    System.out.println("最大值是"+max);
    System.out.println("最小值是"+min);
    System.out.println("偶数的个数是"+sum);
    System.out.print("偶数的平均值是"+((double)s/sum));
}

}

img

img

img

我看了一下你这些东西,有点不太明白你要表达的意思

你试试把对max和min的赋值放在for循环外面看看

根据你的问题:
我在你的基础上稍微修改了一下代码,避免了一些错误:
请看!

import java.util.Scanner;

public class Main
{
    public static void main(String[] args) 
    {
        int []arr=new int[10];
        System.out.print("请输入10个整数(中间空格隔开):");
        try (Scanner read = new Scanner(System.in)) {
        for(int i=0;i<10;i++)
        { 
            arr[i]=read.nextInt(); 
        }
        }
        int max=0,min=0,s=0,sum=0;
        for(int i=0;i<10;i++)
        {
            if(i==0) 
            {
                max=min=arr[0];
            }
            if(arr[i]>max) 
            {
                max=arr[i];
            }
            if(arr[i]<min) 
            {
                min=arr[i];
            }
            if(arr[i]%2==0) 
            {
                s+=arr[i];
                sum++;
            }
        }
        System.out.println("最大值是"+max);
        System.out.println("最小值是"+min);
        System.out.println("偶数的个数是"+sum);
        if(sum==0) System.out.println("输入的偶数个数为0"); 
        else System.out.print("偶数的平均值是"+((double)s/sum));
    }
}


运行结果1:

img

结果2:

img

经检验,上述运行结果全部正确!!!

如果你觉得我的回答对你有帮助,小玥谢谢你的采纳!!!