import java.util.Scanner;
public class markSystem {
public static void main(String[] args) {
int choose;
Singer singer=new Singer();
Scanner input=new Scanner(System.in);
System.out.println("=======================================");
System.out.println(" 欢迎使用歌手打分系统 ");
System.out.println("=======================================");
while(true){
System.out.println("1、歌手打分 2、歌手排名 3、查看得分明细");
System.out.print("请选择>>");
choose=input.nextInt();
if(choose==1){
singer.grade(singer.SingerNumber, singer.SingerName, singer.score);
}
if(choose==2){
singer.ranking(singer.SingerNumber, singer.SingerName,singer.score);
}
if(choose==3){
singer.getinfo(singer.SingerNumber, singer.SingerName, singer.score);
}
if(choose<=0){
continue;
}
}
}
}
//Singer类是给歌手打分的
class Singer{
int[] SingerNumber=new int[4] ;
String[] SingerName=new String[4];
float[][] score=new float[4][4];
java.util.Scanner input=new java.util.Scanner(System.in);
//实现歌手信息及评委打分的录入
void grade(int[] SingerNumber,String[] SingerName,float[][] score){
for(int i=0;i<4;i++){
System.out.print("输入歌手编号>>");
SingerNumber[i]=input.nextInt();
System.out.print("输入歌手姓名>>");
SingerName[i]=input.next();
for(int j=0;j<4;j++){
System.out.print("第"+(j+1)+"个评委打分>>");
score[i][j]=input.nextFloat();
}
}
}
//获取所有歌手的信息
void getinfo(int[] SingerNumber,String[] SingerName,float[][] score){
System.out.println("=======================歌手详细信息======================");
System.out.println("编号 姓名 评委1 评委2 评委3 评委4");
for(int i=0;i<4;i++){
System.out.print(SingerNumber[i]+" "+SingerName[i]+" ");
for(int j=0;j<4;j++){
System.out.print(score[i][j]+" ");
}
System.out.println();
}
}
//这是实现歌手按平均成绩的排名函数
void ranking(int[] SingerNumber,String[] SingerName,float[][] score){
/* float max=0;
float min=0;
//找出评委的最高分和最低分
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
max=score[i][0];
min=score[i][0];
if(max<score[i][j]){
max=score[i][j];
}
if(min>score[i][j]){
min=score[i][j];
}
}
}*/
//求歌手去掉最高分和最低分后的平均分
float[] sum={0,0,0,0};
float[] avg={0,0,0,0};
for(int k=0;k<4;k++){
for(int l=0;l<4;l++){
/*if(score[k][l]>=min&&score[k][l]<=max){*/
sum[k]=sum[k]+score[k][l];
avg[k]=sum[k]/4;//求出4个选手的平均分
}
}
//对平均分排序
float temp;
float[] last={avg[0],avg[1],avg[2],avg[3]};
int[]num={0,0,0,0};
for(int i=0;i<3;i++){
for(int j=0;j<3-i;j++){
if(avg[j]<avg[j+1]){
temp=avg[j];
avg[j]=avg[j+1];
avg[j+1]=temp;
}
}
}
for(int k=0;k<4;k++){
for(int l=0;l<4;l++){
if(avg[k]==last[l]){
num[k]=l;
}
}
}
System.out.println("================歌手排名===============");
System.out.println("编号 姓名 平均成绩");
for(int i=0;i<4;i++){
System.out.print(SingerNumber[num[i]]+" "+SingerName[num[i]]+" "+avg[i]);
System.out.println();
}
}
}