import java.util.Random;
import java.util.Scanner;
public class case5 {
public static void main(String[] args) {
/*评委打分
* 6名评委打分,分数范围【0-100】整数
* 得分=去掉最高最低分,剩下4个的平均分
* shift+F6批量修改*/
Scanner sc = new Scanner(System.in);
System.out.println("请选择方法分数键盘录入或随机生成");
System.out.println("键盘录入请选1");
System.out.println("随机生成请选2");
System.out.print("您的选择是:");
int i=sc.nextInt();
if (i==1){
jianpan();}
if (i==2){
suiji();
}
}
//方法①键盘录入评委分数
public static void jianpan(){
//键盘录入
Scanner sc = new Scanner(System.in);
System.out.print("请输入评委人数:");
int a = sc.nextInt();
int[] arr1 = new int[a];
int[] arr2 = new int[2];
for (int i = 0; i < arr1.length; i++) {
System.out.print("第" + (i + 1) + "位评委的分数为:");
arr1[i] = sc.nextInt();
//判断输入是否合法
while (arr1[i] < 0 || arr1[i] > 100) {
System.out.println("请输入0-100间的整数分数");
arr1[i] = sc.nextInt();
}
}
//将arr1中的最小值赋值给arr2【0】
arr2[0] = arr2[1] = arr1[0];
for (int i = 1; i < arr1.length; i++) {
if (arr1[i] < arr2[0]) {
arr2[0] = arr1[i];
}
}
//将arr1中的最大值赋值给arr2【1】
for (int i = 1; i < arr1.length; i++) {
if (arr1[i] > arr2[1]) {
arr2[1] = arr1[i];
}
}
int sum=0;
for (int i = 0; i < arr1.length; i++) {
sum=sum+arr1[i];
}
int achievement=(sum-arr2[0]-arr2[1])/(a-2);
System.out.println("选手得分为:"+achievement);
}
//方法②随机生成分数
public static void suiji(){
Scanner sc = new Scanner(System.in);
System.out.print("请输入评委人数:");
int a = sc.nextInt();
int[] arr1 = new int[a];
//生成随机数
Random r=new Random();
for (int i = 0; i < arr1.length; i++) {
arr1[i]=r.nextInt(101);
System.out.println(arr1[i]);
}
int p=0;
//数组排序
for (int i = 0; i < arr1.length-1; i++) {
for (int j = 0; j < arr1.length-1; j++) {
if (arr1[j]>arr1[j+1]){
p=arr1[j];
arr1[j]=arr1[j+1];
arr1[j+1]=p;
}
}
}
//数组求和
int sum=0;
for (int i = 0; i < arr1.length; i++) {
sum=sum+arr1[i];
}
//计算成绩=(总和-最大值-最小值)/(评委人数-2)
int achievemet=(sum-arr1[0]-arr1[a-1])/(a-2);
System.out.println("选手成绩为:"+achievemet);
}
}
JAVA中的键盘录入和随机生成成绩两种方法,计算选手得分
最新推荐文章于 2023-03-27 00:00:00 发布