/**
* @author 司**
* 功能:数组----8个裁判打分,除去最高分和最低分,取平均分
*/
package com.dafen;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Judge judge=new Judge();
System.out.println("最终得分:"+judge.finalAverageFen());
}
}
class Judge
{
//定义一个可以存放8个小数数组
float fens[]=null;
int size=8;
//构造函数
public Judge(){
fens=new float[size];
//初始化
InputStreamReader inputStreamReader=new InputStreamReader(System.in);
BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
try {
for (int i = 0; i < fens.length; i++) {
System.out.println("请输入第"+(i+1)+"个裁判评定的成绩:");
fens[i]=Float.parseFloat(bufferedReader.readLine());
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
bufferedReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public float finalAverageFen() {
//1、去掉最低分,得到该分的下标即可,可另写一个方法获取
//2、去掉最高分,
//3、取其他的平均值
float finalAverageFen=0;
for (int i = 0; i < fens.length; i++) {
if (i!=getLittleFenIndex()&&i!=getHighFenIndex()) {
finalAverageFen+=fens[i];
}
}
return finalAverageFen/(fens.length-2);
}
public int getLittleFenIndex() {
//比较,认为第一个就是最低的,然后一个个比较
float minFen=fens[0];
int minFenIndex=0;
for (int i = 1; i < fens.length; i++) {
if(fens[i]<minFen){
minFen=fens[i];
minFenIndex=i;
}
}
return minFenIndex;
}
public int getHighFenIndex() {
//比较,认为第一个就是最高的,然后一个个比较
float maxFen=fens[0];
int maxFenIndex=0;
for (int i = 1; i < fens.length; i++) {
if(fens[i]>maxFen){
maxFen=fens[i];
maxFenIndex=i;
}
}
return maxFenIndex;
}
}
数组的练习-----比赛求取平均分
最新推荐文章于 2022-05-25 08:49:07 发布