评委打分系统
要求:
1,手动录入一个n,代表评委的个数
2,接下来依次录入评委的评分数(0-100)
3,当录入完成,要求输出所有评委的打分情况,最高分和最低分,以及去掉最高和最低分的平均分;
思路:
第一步:接收键盘录入的评委个数n,开辟内存空间并初始化
第二步:用void inputScore(int[] arr)方法依次录入评委的打分数
第三步:用int getMax(int[] arr)获得最高得分
第四步:用int getMin(int[] arr)获得最低得分
第五步:用int sumScore(int[] arr)获得总分
第六步:用int getAverage(int[] arr)获得最终的平均分
第七步:定义void printArray(int[] arr)用来打印数组
接下里我们开始写代码:
import java.util.Scanner;
public class ScordEnd {
public static void main(String[] args) {
// 第一步:接收键盘录入的评委个数n,开辟内存空间并初始化
System.out.println("请输入参加评分评委的个数....");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
//第二步:用void inputScore(int[] arr)方法依次录入评委的打分数
inputScore(arr);
//第三步:用int getMaxScore(int[] arr)获得最高得分
int MaxScore = getMaxScore(arr);
//第四步:用int getMin(int[] arr)获得最低得分
int MinScore = getMinScore(arr);
//第五步:用int sumScore(int[] arr)获得总分
int SumScore = getSumScore(arr);
//第六步:用int getAverage(int[] arr,int MaxScore,int MinScore)获得最终的平均分
int AverageScore = getAverage(arr,SumScore,MaxScore,MinScore);
//第七步:定义void printArray(int[] arr)用来打印数组
System.out.println("评委的打分情况如下:");
PrintArray(arr);
System.out.println("选手的最高得分是:"+MaxScore);
System.out.println("选手的最低得分是:"+MinScore);
System.out.println("那么,选手的最终得分是:"+AverageScore);
}
private static void PrintArray(int[] arr) {
System.out.print("[");
for(int i =0;i<arr.length;i++){
if(i==arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
//求总分方法
private static int getSumScore(int[] arr) {
int sumScore = arr[0];
for(int i = 1;i<arr.length;i++){
sumScore+=arr[i];
}
return sumScore;
}
// 求平均数方法
private static int getAverage(int[] arr,int sum,int max,int min) {
int averageScore = (sum-max-min)/(arr.length-2);
return averageScore;
}
//求最小得分方法
private static int getMinScore(int[] arr) {
int MinScore = arr[0];
for(int i = 1;i<arr.length;i++){
MinScore = arr[i]<MinScore?arr[i]:MinScore;
}
return MinScore;
}
//求最大得分方法
private static int getMaxScore(int[] arr) {
int MaxScore = arr[0];
for(int i =1;i<arr.length;i++){
MaxScore = arr[i]>MaxScore?arr[i]:MaxScore;
}
return MaxScore;
}
//评委得分输入方法
private static void inputScore(int[] arr) {
for(int i=0;i<arr.length;i++){
System.out.println("请输入第"+(i+1)+"个评委的分数:");
Scanner s = new Scanner(System.in);
int score = s.nextInt();
arr[i] = score;
}
}
}