Java基础——(综合练习)选手打分

package com.zhao.test;

import java.util.Scanner;

public class Test17 {
/*    需求 :
    在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。
    选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,
    请完成上述过程并计算出选手的得分。*/
public static void main(String[] args) {
    int[] scoresArr=getScores();
    int max=getMax(scoresArr);
    int min=getMin(scoresArr);
    int sum=getSum(scoresArr);
    //4.求平均分(和-最大值-最小值)/4
    //不直接写4,不写死
    int avg=(sum-max-min)/(scoresArr.length-2);
    System.out.println("选手的平均得分为: "+avg);
}

    //分析 1.定义一个方法用来建立数组用于存储分数
    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("录入分数不合法,请重新输入:");
            }
        }
        return scores;
    }

    //2.求出数组中的最大值
    public static int getMax(int[] scores){
        int max=scores[0];
        for (int i = 0; i <scores.length ; i++) {
            if (max<scores[i]){
                max=scores[i];
            }
        }
        return max;
    }

    //3.求出数组中的最小值
    //shift+F6批量修改方法内同名元素
    public static int getMin(int[] scores){
        int min=scores[0];
        for (int i = 0; i <scores.length ; i++) {
            if (min>scores[i]){
                min=scores[i];
            }
        }
        return min;
    }
    //3.求出数组中的6个分数的和
    public static int getSum(int[] scores){
        int sum=0;
        for (int i = 0; i <scores.length ; i++) {
            sum=sum+scores[i];
        }
        return sum;
    }

}
posted @ 2023-02-27 01:17  SuzukiHane  阅读(78)  评论(0)    收藏  举报