package test;
import java.util.Scanner;
public class 数组练习之裁判打分 {
/**
* 作者:钟志钢
* 功能:练习数组用法
* 时间:2013-1-27
* 介绍:当用户输入size个分数,去掉一个最高分,去掉一个最低分,求平均分,并显示最高分和最低分的裁判
*/
public static void main(String[] args) {
Judge j = new Judge();
j.getLastFen();
}
}
class Judge {
private Float Fens [] ;
public Judge(){
int size = 4;//定义裁判的人数
Fens = new Float[size];//初始化分数数组
Scanner s = new Scanner(System.in);//读取输入的数据
for(int i = 0; i < Fens.length; i++){
System.out.println("请输入第"+(i+1)+"个裁判的分数,共" + size + "个");
Float f= (float) s.nextInt();
Fens[i] = f;
}
}
public void getLastFen(){
int miniindex = getIndex()[0];//得到最高分下标
int maxindex = getIndex()[1];//得到最低分下标
int totalFens = 0;
for(int i = 0; i < Fens.length; i ++){
if(i != miniindex && i != maxindex){//最高分与最低分不计入总分
totalFens += Fens[i];//计算总分
}
}
System.out.println("最后分数是:"+ (totalFens / (Fens.length - 2)));//打印平均分
System.out.println("最高分的裁判是"+(maxindex + 1)+ "号");
System.out.println("最低分的裁判是"+(miniindex + 1)+ "号");
}
public int [] getIndex(){
int [] index = new int[2];//用于返回最高分和最低分 的数组
int minidex = 0;//初始化最低分下标
Float minFens = Fens[0];//初始化最低分
int maxindex = 0;//初始化最高分下标
Float maxFens = Fens[0];//初始化最高分
for(int i = 0; i < Fens.length; i ++){
if(minFens > Fens[i]){
minidex = i;
minFens = Fens[i];
}
if(maxFens < Fens[i]){
maxindex = i;
maxFens = Fens[i];
}
}
index[0] = minidex;
index[1] = maxindex;
return index;
}
}