简单的一题但是细节上会犯的错误有很多
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner as=new Scanner(System.in);
int n=as.nextInt();
long[] a=new long[n];
//像这种最大或最小值不应该在这里就原始化
//以最小值为例,假如全程压根没出想过比0小的数呢
long max=0;
long min=0;
double zhong=0;
//输入数字
for(int i=0;i<n;i++) {
a[i]=as.nextInt();
//为防止再次出现上次的问题再次进行原始化
if(i==0) { max=a[i]; min=a[i]; }
//change max
if( a[i]>max ){max=a[i];}
//change min
if( a[i]<min ){min=a[i];}
}
//计算中位数 判断n是否为偶数
if(n%2==0) {
//这里在计算出的数之前,使用int变量和使用double计算出的答案是不一样的
double zhon=a[n/2-1]+a[n/2];//如果这里使用int变量接收的话就会损失精度
zhong=zhon/2;
}
else {
zhong=a[n/2];
}
//无小数 则转为int
if((zhong-(int)zhong)==0) {System.out.print(max+" "+(int)zhong+" "+min); }
//有小数
else { System.out.print(max+" "+zhong+" "+min); }
}
}