Random生成10个0~10的随机数,去掉最高值和最低值、求平均值
一、要求
1.在编程竞赛中,有10位评委随机为参赛的选手打分
2.求选手的最后得分(去掉一个最高分和一个最低分后其余8位评委打分的平均值)
3.随机分数范围:0~10,包含0和10
二、代码实现
注:平均分是double类型的数值,同时除数是double类型才可以得到准确平均值
import java.util.Random;
public class TestDemo {
public static void main(String[] args) {
Random random = new Random();
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
int a = random.nextInt(10);
array[i] = a;
}
int sum = 0;
int max = array[0];
int min = array[0];
System.out.println("所有评委打的分数:");
for (int i = 0; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
if (array[i] < min) {
min = array[i];
}
System.out.print(array[i] + "\t");
sum += array[i];
}
System.out.println("\r\n");
System.out.println("最高分:" + max);
System.out.println("最低分:" + min);
System.out.println("去掉最高分、最低分后的分数:");
sum = sum - max - min;
System.out.println("总分:" + sum);
double avg = sum / 8.0;
System.out.println("平均分:" + avg);
}
}
运行结果: