用java编写一个评分程序,接受评分为输出某选手的5个得分(0-10),然后去掉一个最高分和一个最低分,并输出去掉的最高分和最低分,求出最后的平均分(不用for循环)
public static void main(String[] args ) {
Scanner sin = new Scanner(System.in);
int a1,a2,a3,a4,a5;
int max,min;
double avg = 0;
a1 = sin.nextInt();
max = a1;
min = a1;
avg += a1;
a2 = sin.nextInt();
if(a2 > max)
max = a2;
if(a2 < min)
min = a2;
avg += a2;
a3 = sin.nextInt();
if(a3 > max)
max = a3;
if(a3 < min)
min = a3;
avg += a3;
a4 = sin.nextInt();
if(a4 > max)
max = a4;
if(a4 < min)
min = a4;
avg += a4;
a5 = sin.nextInt();
if(a5 > max)
max = a5;
if(a5 < min)
min = a5;
avg += a5;
avg = (avg - max - min)/3;
System.out.println("最高分="+max+",最低分="+min);
System.out.println("平均分="+avg);
}
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("开始打分[0-10]:");
int score = 0;
List<Integer> scores = new ArrayList<>();
int i = 0;
while (i < 5) {
System.out.printf("第%s个分数:", i + 1);
score = sc.nextInt();
while (score < 1 || score > 10) {
System.out.println("输入错误,请输入0-10范围内的数");
score = sc.nextInt();
}
scores.add(score);
i++;
}
sc.close();
int sum = scores.stream().mapToInt(e -> e).sum();
int max = scores.stream().reduce(Integer::max).get();
int min = scores.stream().reduce(Integer::min).get();
int result = sum - max - min;
double aver = result / 5.0;
System.out.println("最高分:" + max);
System.out.println("最低分:" + min);
System.out.println("最终得分:" + aver);
}
}