📄 grade.java
字号:
//创建计分对象,负责评委对选手达芬、计分统计,分数显示
import java.io.*;
public class Grade {
BufferedReader input= new BufferedReader(new InputStreamReader(System.in));
String inputString;
//去掉一个最高分,去掉一个最低分,求出平均分作为该选手最后得分
public double calculateMark(double[] marks) {
double max=0;
double min=100;
double total=0;
for(int i=1;i<=10;i++){
if(marks[i]<min){
min=marks[i];
}
if(marks[i]>max){
max=marks[i];
}
total=total+marks[i];
}
total=(total-max-min)/8.0;
System.out.println("去掉一个最高分"+max+",去掉一个最低分"+min+",该选手最后得分:"+total);
return total;
}
//评委打分
public void inputMarks(double[] marks)throws IOException{
for(int i=1;i<=10;i++){
System.out.println(i+"号评委给选手打分");
inputString=input.readLine();
double m=Double.parseDouble(inputString);
marks[i]=m;
}
}
//排序
public void sort(Candidate[] c, int key){
Candidate tmp;
boolean changed=false;
for(int i=1;i<=(c.length-1);i++){
for(int j=1;j<=(c.length-1)-i;j++){
if(key==1) changed=(c[j].ID>c[j+1].ID);//按照选手编号排序
if(key==2) changed=(c[j].mark>c[j+1].mark);//按照选手分数排序
//冒泡排序,交换相邻数据
if(changed){
tmp=c[j];
c[j]=c[j+1];
c[j+1]=tmp;
}
}
}
}
//显示成绩
public void showMarks(Candidate[] c)throws IOException{
System.out.println("-----选手成绩----");
System.out.println("按选手编号排序请按1,按选手成绩排序请按2");
inputString=input.readLine();
int n=Integer.parseInt(inputString);
sort(c,n);
for(int i=1;i<=(c.length-1);i++){
System.out.println(c[i].toString());
}
}
public void grading(Candidate[] c)throws IOException{
System.out.println("-----评委打分----");
for(int i=1;i<=(c.length-1);i++){
System.out.println("给"+i+"号评委打分");
inputMarks(c[i].marks);
c[i].mark=calculateMark(c[i].marks);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -