/*
* 一位数组:实现打分
*/
package com.lianxi;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Judge juage=new Judge();
System.out.println(juage.lastFen());
}
}
class Judge
{
//定义一个可以存放8个小数的数组
float fens[]=null;
int size=3;
//构造函数
public Judge()
{
fens=new float[size];
//初始化。
//输入流
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
try{
for(int i=0;i<fens.length;i++)
{
System.out.println("请输入第"+(i+1)+"个裁判的成绩");
fens[i]=Float.parseFloat(br.readLine());
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
br.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
//得到运动员的最后得分
public float lastFen()
{
//去掉最低分(目的就是找到最低分的下标)
//去掉最高分
//得到最后分
float lastFen=0;
float allFen=0;
int maxIndex=this.getHignFenIndex();
int minIndex=this.getLowFenIndex();
for(int i=0;i<fens.length;i++)
{
if(i!=minIndex&&i!=maxIndex)
{
allFen+=fens[i];
}
}
return allFen/(fens.length-2);
}
//去掉最高分
public int getHignFenIndex()
{
//选择法:认为第一个是最低的
float maxFen=fens[0];
int maxIndex=0;
for(int i=1;i<fens.length;i++)
{
if(maxFen<fens[i])
{//修改最低分
maxFen=fens[i];
maxIndex=i;
}
}
return maxIndex;
}
//去掉最低分的下标(下标)
public int getLowFenIndex()
{
//选择法:认为第一个是最低的
float minFen=fens[0];
int minIndex=0;
for(int i=1;i<fens.length;i++)
{
if(minFen>fens[i])
{//修改最低分
minFen=fens[i];
minIndex=i;
}
}
return minIndex;
}
}