JAVA实现评委打分
需求: 在唱歌比赛中,有6名评委给选手打分,分数范围是[0-100]之间的整数。 选手的最后得分为: 去掉最高分、最低分后的4个评委的平均分。
import java.util.Scanner;public class task1 {public static void main(String[] args) {// 需求: 在唱歌比赛中,有6名评委给选手打分,分数范围是[0-100]之间的整数。// 选手的最后得分为: 去掉最高分、最低分后的4个评委的平均分int[] scores = new int[6];Scanner scanner = new Scanner(System.in);// 输入评分并进行验证System.out.println("请输入6位评委的评分(0-100分):");for (int i = 0; i < scores.length; ) {System.out.print("第" + (i + 1) + "位评委评分:");int score = scanner.nextInt();if (score >= 0 && score <= 100) {scores[i] = score;i++;} else {System.out.println("评分必须在0-100之间,请重新输入!");}}// 一次性遍历找出最大值、最小值和总和int maxScore = scores[0];int minScore = scores[0];int sum = scores[0];for (int i = 1; i < scores.length; i++) {if (scores[i] > maxScore) {maxScore = scores[i];}if (scores[i] < minScore) {minScore = scores[i];}sum += scores[i];}// 计算最终得分(去掉最高分和最低分后的平均分)double finalScore = (sum - maxScore - minScore) / (scores.length - 2.0);System.out.println("\n评分统计结果:");System.out.println("最高分:" + maxScore);System.out.println("最低分:" + minScore);System.out.println("去掉最高分和最低分后的平均分:" + String.format("%.2f", finalScore));scanner.close();}
}