1 问题
Java作为使用最广泛,作为开发软件的通用语言,Java在生活中的使用也十分常见,例如近期举行的亚运会中,跳水队员全红婵选手获得了一次全满分的绝佳成绩,但在通常比赛中,选手们一般只能获得90分左右的成绩,由6位评委打分,去掉一个最高分和最低分,求取剩余4位评委打分的平均值作为选手们的最终成绩,今天我们将通过Java编程实现这一打分制。
2 方法
- 定义一个数组来记录6个评委打的分数。
- 用下方代码中的getMax方法来获得最大分数,getMin方法来获得最小分数。
- 用getSum来获得总成绩。
- 最后用去掉最高分和去掉最低分的总成绩来除以数组的长度length-2得到平均分。
package Ts; import java.util.Scanner; public class Jump { public static void main(String[] args) { int[] scoreArr = getScores(); for(int i =0; i< scoreArr.length;i++){ System.out.println(scoreArr[i]); } int max = getMax(scoreArr);//求最大值 int min = getMin(scoreArr);//求最小值 int sum = getSum(scoreArr);//求总和以及平均分 int average = (sum - max -min)/(scoreArr.length-2); System.out.println("最终得分"+average); } public static int getSum(int[] scoreArr){ int sum = 0; for (int i = 0; i < scoreArr.length ;i++) { sum+=scoreArr[i]; } return sum; } public static int getMax(int[] scoreArr){ int max = scoreArr[0]; for (int i = 0; i<scoreArr.length ;i++) { if(scoreArr[i]>max){ max = scoreArr[i]; } } return max;//找最大分数 } public static int getMin(int[] scoreArr){ int min = scoreArr[0]; for (int i = 0; i<scoreArr.length ;i++) { if(scoreArr[i]<min){ min = scoreArr[i]; } } return min;//找最小分数 } public static int[] getScores(){ int[] scores = new int[6]; Scanner sc = new Scanner(System.in); for (int i = 0; i < scores.length;) { System.out.println("请输入你的打分:"); int score = sc.nextInt(); if (score>=0 && score<=100){ scores[i] = score; i++; }else { System.out.println("超出分数范围,请输入0-100的分数"); } }return scores; } }
|
3 结语
以上是运用for循环,多种方法互相调用,数组建立,Scanner键盘录入数等来获得数组中所有元素和并且求取平均值的代码程序,最终模拟出亚运比赛中评委打分的实例。