76 评委给打分去掉最高分 去掉最低分 求平均分

优化后的
package com.fqs.test;

import java.util.Random;
import java.util.Scanner;

public class hello {
    public static void main(String[] args) {
        //评委打分  评委个数6个
        //分数的范围1到100
        //去掉最高分  去掉最低分  剩下的4个评委的平均分
        double []okarr=getArr();
        for (int i = 0; i <okarr.length ; i++) {
            System.out.println(okarr[i]);

        }

        System.out.println("avg:" +getAvg(okarr));

    }//主方法
//获取6个评委的值
    public static double[] getArr() {
        double[] arr = new double[6];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < arr.length;) {
            System.out.println("请第" + (i+1) + "位评委给评分");
            double num = sc.nextInt();//每次开始循环时,获取键盘输入的值
            if (num < 0 || num > 100) {
                System.out.println("不合法,请输入0到100之间的评分");//不合法时,
//不做任何操作(比如不要求输入),i不变,继续
} else { arr[i] = num;//合法的存到arr数组中 System.out.println("合法,放到arr数组下标:" +i); i++;//并且进入下个循环 } } return arr; } public static double getAvg(double[] arr) { double max = arr[0]; double min = arr[0]; double avg = 0; double sum = 0; for (int i = 0; i < arr.length; i++) { if (max < arr[i]) { max = arr[i]; //获得最大值 } } for (int i = 0; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; //获得最小值 } } for (int i = 0; i < arr.length; i++) { sum = sum + arr[i]; } System.out.println("sum:" + sum); avg = (sum - min - max) / (arr.length - 2); return avg; } }//类结束

 




package
com.fqs.test; import java.util.Random; import java.util.Scanner; public class hello { public static void main(String[] args) { //评委打分 评委个数6个 //分数的范围1到100 //去掉最高分 去掉最低分 剩下的4个评委的平均分 double[] arr = new double[6]; Scanner sc = new Scanner(System.in); for (int i = 1; i <= arr.length; i++) { System.out.println("请第" + i + "位评委给评分"); double num = sc.nextInt(); boolean flag = true;//是否有不合法的评分 如果不合法一直循环让输入 只有true才能进到循环里 while (flag) { if (num < 0 || num > 100) { flag = true; System.out.println("不合法,请输入1到100之间的评分"); num = sc.nextInt(); } else { flag = false; arr[i - 1] = num;//合法的存到arr数组中 System.out.println("合法,放到arr数组下标:" + (i - 1)); break; } } } System.out.println("avg:" + getAvg(arr)); } public static double getAvg(double[] arr) { double max = arr[0]; double min = arr[0]; double avg = 0; double sum = 0; for (int i = 0; i < arr.length; i++) { if (max < arr[i]) { max = arr[i]; //获得最大值 } } for (int i = 0; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; //获得最小值 } } for (int i = 0; i < arr.length; i++) { sum = sum + arr[i]; } System.out.println("sum:" + sum); avg = (sum - min - max) / (arr.length - 2); return avg; } }//类结束

 

posted @ 2023-06-08 21:08  胖豆芽  阅读(56)  评论(0编辑  收藏  举报