java中 裁判打分 得出平均分,最高分和最低分

该Java程序设计了一个裁判打分系统,用于计算并输出运动员的最终平均分,同时找出最高分和最低分。程序通过输入多个裁判的评分,初始化数组,并利用构造函数进行数据读取。通过对数组的操作,移除最高分和最低分,计算平均得分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 * 
 * 习题练习
 * 功能:裁判打分 
 * 得出平均分,最高分和最低分
 */

package com.haitao.array;

import java.io.*;

public class Demo6_7 {


	public static void main(String[] args) {
		
		Judge judge=new Judge();
		System.out.println(judge.lastFen());
		int hig=judge.getHightFenIndex();
		int low=judge.getLowFenIndex();
		System.out.println("裁判给出的最高分是:"+judge.fens[hig]);
		System.out.println("裁判给出的最低分是:"+judge.fens[low]);
	
		

	}

}


class Judge
{
	//定义一个可以存放8个小数的数组
	
	int size=5;
	 float fens[]=null;
	//构造函数
	public Judge()
	{
		fens=new float[size];
		//初始化。
		
		InputStreamReader isr=new InputStreamReader(System.in);
		BufferedReader bf=new BufferedReader(isr);
		
			try {
				for(int i=0;i<fens.length;i++)
				{
					System.out.println("请输入第"+(i+1)+"个裁判给的分数:");
				fens[i]=Float.parseFloat(bf.readLine());
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
					}finally
						{
						try {
							bf.close();
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
								
						}
							
				
	
	}
	//得到一个运动员的最后得分
	public float lastFen()
	{
		//1.去掉最低分(找到最低分的下标)
		
		
		//2.去掉最高分
		
		
		//3.得到最后的平均分
		float allFen=0;
		
		int minIndex=this.getLowFenIndex();
		int maxIndex=this.getHightFenIndex();
		for(int i=0;i<fens.length;i++)
		{
			if(i!=minIndex&&i!=maxIndex)
			{
				allFen+=fens[i];
	
			}

		}
		return allFen/(fens.length-2	);
		
		
	}
	
	//1.去掉最低分(找到最低分的下标)
	public int getLowFenIndex()
	{
			//选择法,认为第一个是最低分
		float minFen=fens[0];
		int minFenIndex=0;
		for(int i=1;i<fens.length;i++)
		{
			if(fens[minFenIndex]>fens[i])
			{
				//修改最低分
				minFen=fens[i];
				minFenIndex=i;
				
			}
			
			
		}
		return minFenIndex;
		
		
	}
	
	//3.得到最后的平均分
	
	public int getHightFenIndex()
	{
			//选择法,认为第一个是最低分
		float maxFen=fens[0];
		int maxFenIndex=0;
		for(int i=1;i<fens.length;i++)
		{
			if(fens[maxFenIndex]<fens[i])
			{
				//修改最低分
				maxFen=fens[i];
				maxFenIndex=i;
				
			}
			
			
		}
		return maxFenIndex;
		
		
	}

	
	
	
	
	

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值