小中大
代码(80分)
package practice;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class CCf190301 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int Min = 0;
double Midd = 0;
int Max = 0;
ArrayList<Integer> arrays = new ArrayList<Integer>();
for (int i = 0; i < N; i++) {
arrays.add(sc.nextInt());
}
Collections.sort(arrays);
if (N%2!=0) {
Midd = arrays.get((arrays.size()-1)/2);
}else {
double middle = ((double)(arrays.size()-1)/(double)2);
double a = Math.floor(middle);
double b = Math.ceil(middle);
Midd = (double)(arrays.get((int) a)+arrays.get((int) b))/(double)2;
}
System.out.print(arrays.get(arrays.size()-1)+" ");
System.out.print(Midd);
System.out.print(arrays.get(0));
}
}
总结
在java中,int和double类型的相互转换需要注意,一下,java的默认形式为int类型,若想要除于得到一个小数,就需要把被除数和除数都强制转换成double类型,对于输出形式也是一样的,注意%1.f的用法,包流一位小数的说是。就是相对于输出的格式的问题。