需求: 在歌唱比赛中,有6名评委给选手打分,分数范围是[0~100]之间的整数。 选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算处选手的得分。
import java.util.Scanner;
public class test4 {
public static void main(String[] args) {
int []arr=getScore();
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
//进行换行操作
System.out.println();
int max=getMax(arr);
int min=getMin(arr);
int sum=sum(arr);
//总和减去最大值减去最小值之后求平均值
double avg=(sum-max-min)/(arr.length-2);
System.out.println("该选手所得的分数为:");
System.out.println(avg);
}
//1、输入一个数组里面包含评委打的分数
public static int[] getScore() {
int[] newArr = new int[6];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 6; ) {
System.out.println("请输入分数:");
int score = sc.nextInt();
if (score >= 0 && score <= 100) {
newArr[i] = score;
i++;//当数据在可取范围时i进行加加操作
}else{
System.out.println("你输入的数字不正确,请重新输入");
}
}
return newArr;
}
//2、求分数中的最大值
public static int getMax(int[]arr){
int max=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
return max;
}
//3、求分数中的最小值
public static int getMin(int[]arr){
int min=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]<min){
min=arr[i];
}
}
return min;
}
//4、求和
public static int sum(int[]arr){
int sum=0;
for(int i=0;i<arr.length;i++){
sum=sum+arr[i];
}
return sum;
}
}
思路:
1、先用一个数组存储评委打分的数据
2、求最大值和最小值
3、求数组中数值的和之后再减去最大值和最小值
4、求平均值