java调用方法之歌唱比赛六个评委打分【0~100分之间的整数】。要求去掉一个最高分和一个最低分后四个评委的平均分即为选手的得分。

发布于:2022-12-08 ⋅ 阅读:(710) ⋅ 点赞:(0)
(一)分析:
1.定义一个数组,用来存储六名评委的打分(0~100)
2.定义一个方法求出数组中最大值。
3.定义一个方法求出数组中最小值。
4.定义一个方法求出总分。
4.(总和-最大-最小)/4.
(二)代码实现:
package edu.test;
import java.util.Scanner;
public class Test4 {
    public static void main(String[] args) {
        int scores[] = getScore();//接收数组
        int max = getMax(scores);//接收最高分
        int min = getMin(scores);//接收最低分
        int sum = getSum(scores);//接收总分
        int avg = (sum - max - min) / (scores.length - 2);//算出最后得分
        System.out.println("选手的分数:" + avg);
    }
    public static int getSum(int scores[]) {//定义一个方法求出总分。
        int sum = 0;
        for (int o = 0; o < scores.length; o++) {
            sum = sum + scores[o];
        }
        return sum;
    }
    public static int[] getScore() {
        int scores[] = new int[6];//定义一个数组,用来存储六名评委的打分(0~100)
        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("输入分数范围错误,当前一共有" + i + "个分数");
            }
        }
        return scores;//将数组返回。
    }
    public static int getMax(int scores[]) {//定义一个方法求出数组中最大值。
        int max = scores[0];/*经典算最大值的方法,值得注意的是区分清楚,马虎写成(scores[i]>scores[max])会索引越界报错*/
        for (int i= 1; i < scores.length; i++) {
            if (scores[i] > max) {
                max = scores[i];
            }
        }
        return max;
    }
    public static int getMin(int scores[]) {//定义一个方法求出数组中最小值。
        int min = scores[0];
        for (int i = 1; i < scores.length; i++) {
            if (scores[i] < min) {
                min = scores[i];
            }
        }
        return min;
    }
}

结果如下:

 


网站公告

今日签到

点亮在社区的每一天
去签到