- 需求:
- 在唱歌比赛中,有6名评委给选手打分,分数范围是[0-100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。
package _exercis; import java.util.Random; public class SingScore { public static void main(String[] args) { double avg = getScore(); System.out.println("选手获得的总分:" + avg); } //产生随机数值 public static int[] randomScore() { Random random = new Random(); //创建动态数组,长度为6 int[] score = new int[6]; for (int i = 0; i < score.length; i++) { //产生的随机数值在0~100之间,并赋值给score[i] score[i] = random.nextInt(101); } //返回随机数组 return score; } //获得数组中元素最大的值 public static int getMaxScore(int[] arr) { //把arr[]数组中的第0个下标的索引值 当作是最大的值 int max = arr[0]; for (int i = 1; i < arr.length; i++) { //每次和arr[i]里的每个元素值和max相比 //注:i可以从1开始比较,因为如果i=0就和上面的arr[0]重复比较了,避免重复比较,这样可以提高运行效率 if (arr[i] > max) { //如果arr[i]某个下标的元素值大于max,就把arr[i]某个下标的元素赋值给max-依次循环比较,直到arr.length(6)长度结束 max = arr[i]; } } //返回最大的值 return max; } //获得数组中元素最小的值 public static int getMinScore(int[] arr) { //把arr[]数组中的第0个下标的索引值 当作是最小的值 int min = arr[0]; for (int i = 1; i < arr.length; i++) { //每次和arr[i]里的每个元素值和min相比 //注:i可以从1开始比较,因为如果i=0就和上面的arr[0]重复比较了,避免重复比较,这样可以提高运行效率 if (arr[i] < min) { //如果arr[i]某个下标的元素值小于min,就把arr[i]某个下标的元素赋值给min-依次循环比较,直到arr.length(6)长度结束 min = arr[i]; } } //返回最小的值 return min; } public static double getScore() { //得到随机数组 int[] score = randomScore(); //得到最小的值 int min = getMinScore(score); //得到最大的值 int max = getMaxScore(score); //累计的总值 int sum = 0; //得到的结果值 double result = 0; for(int i = 0; i < score.length; i++){ //把score数组中里面的元素累加 sum += score[i]; } result = (sum - min - max) / (score.length - 2); //返回结果值 return result; } }
JAVA-评委打分
最新推荐文章于 2025-05-11 14:15:46 发布