案例:评委打分

 需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。

选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。

 思路:

1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6

2.键盘录入评委分数

3.由于是6个评委打分,所以,接收评委分数的操作,用循环改进

4.定义方法实现获取数组中的最高分(数组最大值),调用方法

5.定义方法实现获取数组中的最低分(数组最小值),调用方法

6.定义方法实现获取数组中的所有元素的和(数组元素求和),调用方法

7.按照计算规则进行计算得到平均分

8.输出平均分

import java.util.Scanner;  
public class  {
    public static void main(String[] args) {
    int[] arr = new int[6];
    Scanner sc = new Scanner(System.in);
    for (int x = 0; x < arr.length; x++) {
        System.out.println("请输入第" + (x + 1) + "个评委的打分:");
        arr[x] = sc.nextInt();
    }
    int max = getmax(arr);
    int min = getmin(arr);
    int sum=getsum(arr);
    int avage=(sum-min-max)/(arr.length-2);
    printArray(arr);
    System.out.println("max=" + max);
    System.out.println("min=" + min);
    System.out.println("sum=" + sum);
    System.out.println("选手的最终:"+avage);
}

    public static int getmax(int[] arr) {
    int i;
    int max = arr[0];
    for (i = 0; i < arr.length; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
    }
    return max;
}

    public static int getmin(int[] arr) {
    int x;
    int min = arr[0];
    for (x = 0; x < arr.length; x++) {
        if (arr[x] < min) {
            min = arr[x];
        }
    }
    return min;
}

    public static int getsum(int[] arr) {
    int sum = 0;
    for (int i = 0; i < arr.length; i++) {
        sum += arr[i];
    }
    return sum;
   }

    public static void printArray(int[] arr) {
    System.out.print("[");
    for (int x = 0; x < arr.length; x++) {
        if (x == arr.length - 1) {
            System.out.print(arr[x]);
        } else {
            System.out.print(arr[x] + ",");
        }
    }
    System.out.println("]");
	}
}