19人の裁判官のスコア

審査員の得点

ケースのニーズ

プログラミングコンテスト、選手の得点を参加6人のパネリスト、0〜100のランダムな整数の除算のスコア。スコアへの最後の選手:4人の裁判官の平均(小数部分を考慮していない)後に最大点と最小スコアを取り除きます。

分析ステップ

図1に示すように、ストレージ・アレイ・スコアを6つの判断を定義します。
2は、6つのランダムなスコアが行くには、配列0-100に保存されています。
3、見て、配列の内容で出力。
4、プレイヤーのスコアは(最高と最低を除く)されたかを調べます

乱数知識リンク:
https://blog.csdn.net/qq_41005604/article/details/104991361

public class ExecDemo {
    public static void main(String[] args) {
        //  1、定义一个数组存储6个评委的分数。
        int[] scores = new int[6];
        //  2.循环6次为当前数组产生随机的6个0-100的分数
        Random r = new Random();
        for(int i = 0 ; i < scores.length ; i++ ){
            scores[i] = r.nextInt(101); // 0-100  1、把随机数赋值到了数组的当前位置
        }
        // 3.定义一个方法把数组的内容打印出来看一下!!
        printArray(scores);
        // 4.计算出该选手的平均分数。
        calcAvgScore(scores);
    }

    public static void calcAvgScore(int[] arr){
        int max = arr[0];  // 存储最大值
        int min = arr[0];  // 存储最小值
        int sum = 0 ;      // 求和
        // c.遍历数组
        for(int i = 0 ; i < arr.length ; i++ ) {
             // d.判断最大值
            if(arr[i] > max){
                max = arr[i];
            }

            // e.判断最小值
            if(arr[i] < min){
                min = arr[i];
            }

            // f.累加求和
            sum += arr[i];
        }
        // g.去掉最高分最低分
        int avg = (sum - max - min ) / (arr.length - 2);
        System.out.println("去掉最高分:"+max);
        System.out.println("去掉最低分:"+min);
        System.out.println("去掉最高分最低分后的平均分为:"+avg);
    }

    public static void printArray(int[] arr){
        System.out.print("[");
        for(int i = 0  ; i < arr.length ; i++ ) {
            System.out.print(i == arr.length - 1 ? arr[i] : arr[i]+", "); // 不能换行!
        }
        System.out.print("]");
        System.out.println(); // 换行!
    }
}

公開された34元の記事 ウォン称賛16 ビュー285

おすすめ

転載: blog.csdn.net/qq_41005604/article/details/105193089