098_评委打分

 1 package com_01;
 2 /*
 3     需求:
 4         在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的证书分
 5         选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分
 6     思路:
 7         1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6
 8         2.键盘录入评委分数
 9         3.由于是6个评委打分,所以,接收评委分数的操作,用循环改进
10         4.定义方法实现获取数组中的最高分(数组最大值),调用方法
11         5.定义方法实现获取数组中的最低分(数组最小值),调用方法
12         6.定义方法实现获取数组汇总的所有元素的和(数组元素求和),调用方法
13         7.按照计算规则进行计算得到平均分
14         8.输出平均分
15  */
16 
17 import java.util.Scanner;
18 
19 public class MyMethodDemo18 {
20     public static void main(String[] args) {
21         //定义一个数组,用动态初始化完成数组元素的初始化,长度为6
22         int[] arr = new int[6];
23 
24         //键盘输入评委分数
25         Scanner sc=new Scanner(System.in);
26         //由于是6个评委打分,所以,用循环改进接收评委分数的操纵
27         for(int x=0;x<=arr.length-1;x++){
28             System.out.println("请输入第"+(x+1)+"个评委打分:");
29             arr[x] = sc.nextInt();
30         }
31 
32         //定义方法实现获取数组中的最高分(数组最大值),调用方法
33         int max = getMax(arr);
34         //定义方法实现获取数组中的最低分(数组最小值),调用方法
35         int min = getMin(arr);
36         //定义方法实现获取数组汇总的所有元素的和(数组元素求和),调用方法
37         int sum = getSum(arr);
38         //按照计算规则进行计算得到平均分
39         int avg = (sum-max-min)/(arr.length-2);
40         System.out.println(avg);
41 
42 
43     }
44     /*
45         两个明确:
46             返回类型:int
47             参数:int[] arr
48      */
49     //数组元素求和
50     public static int getSum(int[] arr){
51         int sum = 0;
52         for(int x=0;x<arr.length;x++){
53             sum +=arr[x];
54         }
55         return sum;
56     }
57 
58     //获取最大值
59     public static int getMax(int[] arr){
60         int max = arr[0];
61         for(int x=1;x<arr.length;x++){
62             if(arr[x]>max){
63                 max = arr[x];
64             }
65         }
66         return max;
67     }
68 
69     //获取最小值
70     public static int getMin(int[] arr){
71         int min = arr[0];
72         for(int x=1;x<arr.length;x++){
73             if(arr[x]<min){
74                 min = arr[x];
75             }
76         }
77         return min;
78     }
79 
80 
81 
82     //遍历数组
83     public static void printArray(int[] arr){
84         System.out.print("[");
85         for(int x=0;x<arr.length;x++){
86             if(x == arr.length-1){
87                 System.out.print(arr[x]);
88             }else{
89                 System.out.print(arr[x]+",");
90             }
91         }
92         System.out.println("]");
93     }
94 }

 

posted @ 2020-12-05 21:26  找不到北的北  阅读(112)  评论(0)    收藏  举报