首页 > 代码库 > java作业(一)

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 }

 

java作业(一)