java排序练习:输入三个学生的姓名和他们的三个评分,去掉最高分和最低分

/*
 * 功能:输入三个学生的姓名和他们的三个评分,去掉最高分和最低分,得到各自的最后分数,再找出得分最高的学生和分数
 */
package com.xiao;
import java.io.*;
class test2{
     public static void main(String[] args){
         try{
            int count=3;
            //保存分数
            float fenshu[]=new float[count];
            //保存学生
            person arr_person[]=new person[count];
            for(int i=0;i<count;i++){
                person ps=new person();
                arr_person[i]=ps;
                fenshu[i]=ps.getFen();
                System.out.println(ps.getName()+"的分数:"+ps.getFen());
            }
        
            //获取分数最低的数组key值
            int tmp=0;
            for(int i=1;i<count;i++){
                if(fenshu[i]>fenshu[tmp]){
                    tmp=i;
                }
            }
            System.out.println(arr_person[tmp].getName()+"得到最高分:"+fenshu[tmp]);
                   
         }catch (Exception e){
             System.out.println(e);
         }
     }
}
class person{
    String name;
    float pingfen[]=new float[3];
    String str;
    public  person(){
        try{
            //输入学生名称
            BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
            //
            System.out.println("请输入学生名称");
            name = reader.readLine();
            System.out.println("请输入三个评分");
            for(int i=0;i<3;i++){
                str=reader.readLine();
                pingfen[i]=(Float.parseFloat(str));
            }
        }catch(Exception e){
            System.out.println(e);
        }
    }
    //获取学生姓名
    public String getName(){
        return this.name;
    }
    public float  getFen(){
        //去掉最高分,去年最低分,得到最终分数即中间的分数
        this.sortPingfen();
        return pingfen[1];
    }
    protected void sortPingfen(){
        Choise mysort=new Choise();
        //通过选择排序法将分数从小到大排列
        mysort.sort(this.pingfen);
    }
}


测试结果:

请输入学生名称

老三

请输入三个评分

50

10

150

老三的分数:50.0

请输入学生名称

老二

请输入三个评分

100

250

80

老二的分数:100.0

请输入学生名称

老三

请输入三个评分

150

180

190

老三的分数:180.0

老三得到最高分:180.0


你可能感兴趣的:(java,import,package,public,姓名)