java基础 作业(一)

题目:

  

跳水比赛,8个评委打分。运动员的成绩是8个成绩去掉一个最高分,去掉一个最低分,剩下的6个分数 的平均分就是最后 得分。使用以为数组实现打分功能 。请把打分最高的评委和最低的评委找出来。

  

解析:

  1 package homework1;
  2 
  3 import java.io.BufferedReader;
  4 import java.io.IOException;
  5 import java.io.InputStreamReader;
  6 
  7 /*
  8  * 跳水比赛,8个评委打分。运动员的成绩是8个成绩去掉一个最高分,去掉一个最低分,
  9  * 剩下的6个分数 的平均分就是最后 得分。使用以为数组实现打分功能 。
 10  * 请把打分最高的评委和最低的评委找出来。
 11  * */
 12 public class homework1 {
 13 
 14     /**
 15      * @param args
 16      */
 17     public static void main(String[] args) {
 18         // TODO Auto-generated method stub
 19         Judge judge=new Judge();
 20         System.out.println(judge.lastFen());
 21     }
 22 
 23 }
 24 
 25 class Judge
 26 {
 27     //定义一个可以存放8个小树数组
 28     float fens[] = null;
 29     int size = 8;
 30     //构造函数
 31     public Judge()
 32     {
 33         fens = new float[size];
 34         //初始化 
 35         InputStreamReader isr = new InputStreamReader(System.in);
 36         BufferedReader br =  new BufferedReader(isr);
 37         
 38             
 39             try {
 40                 for(int  i=0;i<fens.length;i++)
 41                 {
 42                     System.out.println("请输入第"+(i+1)+"裁判的成绩");
 43                     fens[i] = Float.parseFloat(br.readLine());
 44                 } 
 45             } catch (Exception e) {
 46                 e.printStackTrace();
 47             } finally {
 48                 try {
 49                     br.close();
 50                 } catch (IOException e) {
 51                     // TODO Auto-generated catch block
 52                     e.printStackTrace();
 53                 }
 54             }
 55             
 56         
 57     }
 58     //得到运动员的最后得分
 59     public  float lastFen()
 60     {
 61         float allFen=0;
 62         
 63         int minIndex=this.getLowFenIndex();
 64         int maxIndex=this.getHighFenIndex();
 65         
 66         for(int i=0;i<fens.length;i++)
 67         {
 68             if(i!=minIndex&&i!=maxIndex)
 69             {
 70                 allFen+=fens[i];
 71             }
 72         }
 73         return allFen/(fens.length-2);
 74         
 75         //3.  得到平均分
 76     }
 77     //2. 去掉最高分
 78     public int getHighFenIndex()
 79     {
 80         //选择法
 81         //认为第一个是最低分
 82         float highFen = fens[0];
 83         int maxIndex = 0;
 84         for(int i= 1;i<fens.length;i++)
 85         {
 86             if(highFen>fens[i])
 87             {
 88                 //修改最低份
 89                 highFen=fens[i];
 90                 maxIndex = i;
 91             }
 92         }
 93         return maxIndex;
 94     }
 95     //1. 去掉最低分
 96     public int getLowFenIndex()
 97     {
 98         //选择法
 99         //认为第一个是最低分
100         float minFen = fens[0];
101         int minIndex = 0;
102         for(int i= 1;i<fens.length;i++)
103         {
104             if(minFen>fens[i])
105             {
106                 //修改最低份
107                 minFen=fens[i];
108                 minIndex = i;
109             }
110         }
111         return minIndex;
112     }
113 }

 

posted @ 2016-10-11 20:37  heimohe  阅读(857)  评论(0编辑  收藏  举报