JAVA基础--歌手打分功能实现
2018-07-11 03:31:34来源:博客园 阅读 ()
问题:在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。输入每个评委的评分,求某选手的得分。
分析:该题的关键在于,当最高分和最低分多次出现时,如何处理能够使最高分和最低分只去掉一次。可以设置布尔值,让去掉操作只执行一次。
测试方法:
1 public static void test(){ 2 Scanner sc = new Scanner(System.in); 3 System.out.println("表演完毕,请各评委打分:"); 4 int[] a = new int[10]; 5 for(int i=0;i<10;i++){ 6 int score = sc.nextInt(); 7 a[i] = score; 8 } 9 System.out.println("10位评委的评分分别是:"); 10 show(a); 11 int[] b = getScore(a); 12 System.out.println("去掉一个最高分,一个最低分后:"); 13 show(b); 14 getAvg(b); 15 16 }
打印方法:
//遍历数组 public static void show(int[] a){ for (int i = 0; i < a.length; i++) { System.out.print(a[i]+" "); } System.out.println(); }
获取最大元素:
//求最大值 public static int getMax(int[] a){ int max = a[0]; for (int i = 0; i < a.length; i++) { if(a[i]>max){ max = a[i]; } } return max; //System.out.println("该数组最大元素为:"+max); }
获取最小元素:
//求最小值 public static int getMin(int[] a){ int min = a[0]; for (int i = 0; i < a.length; i++) { if(a[i]<min){ min = a[i]; } } return min; //System.out.println("该数组最小元素为:"+min); }
得到新的得分数组:
//评分方法 //参数:得分数组 //返回值:去掉最高分和最低分后的数组 public static int[] getScore(int[] a){ int max = getMax(a); int min = getMin(a); int l = a.length-2; int[] b = new int[l]; int count = 0;//计数器 boolean flag1 = true; boolean flag2 = true; for(int i=0;i<a.length;i++){//将原数组的值,选择性的赋给新数组 if(a[i]==max&&flag1==true){ flag1 = false; continue; } if(a[i]==min&&flag2==true){ flag2 = false; continue; } if(count<l){ b[count] = a[i]; count++; } } return b; }
得到最终平均得分:
//求平均数 public static void getAvg(int[] a){ int sum = 0; for (int i = 0; i < a.length; i++) { sum+=a[i]; } int avg = sum/a.length; System.out.println("该选手最终得分:"+avg); }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash