评委打分
案例需求
在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的随机整数分。 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
分析步骤
1、定义一个数组存储6个评委的分数。
2、随机6个0-100的分数存入到数组中去。
3、输出一下数组中的内容看一下。
4、找出该选手的评分均(去掉最高和最低)
随机数相关知识链接:
https://blog.csdn.net/qq_41005604/article/details/104991361
public class ExecDemo {
public static void main(String[] args) {
// 1、定义一个数组存储6个评委的分数。
int[] scores = new int[6];
// 2.循环6次为当前数组产生随机的6个0-100的分数
Random r = new Random();
for(int i = 0 ; i < scores.length ; i++ ){
scores[i] = r.nextInt(101); // 0-100 1、把随机数赋值到了数组的当前位置
}
// 3.定义一个方法把数组的内容打印出来看一下!!
printArray(scores);
// 4.计算出该选手的平均分数。
calcAvgScore(scores);
}
public static void calcAvgScore(int[] arr){
int max = arr[0]; // 存储最大值
int min = arr[0]; // 存储最小值
int sum = 0 ; // 求和
// c.遍历数组
for(int i = 0 ; i < arr.length ; i++ ) {
// d.判断最大值
if(arr[i] > max){
max = arr[i];
}
// e.判断最小值
if(arr[i] < min){
min = arr[i];
}
// f.累加求和
sum += arr[i];
}
// g.去掉最高分最低分
int avg = (sum - max - min ) / (arr.length - 2);
System.out.println("去掉最高分:"+max);
System.out.println("去掉最低分:"+min);
System.out.println("去掉最高分最低分后的平均分为:"+avg);
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i < arr.length ; i++ ) {
System.out.print(i == arr.length - 1 ? arr[i] : arr[i]+", "); // 不能换行!
}
System.out.print("]");
System.out.println(); // 换行!
}
}