Java基础综合练习案例

Java基础综合练习案例

案例:评委打分

以下是案例的需求:
在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。

然后我们可以写一个写代码的思路,通常要从一个小白入门Java这门语言的话在写代码的时候就要先想好一个程序的思路,然后根据你的思路来写这样的话就会养成一个好习惯,对后来学习有很大的帮助。
思路:
1:定义一个数组,用动态初始化完成数组元素的初始化,长度为6
2:键盘录入评委分数
3:由于是6个评委打分,所以,接收评委分数的操作,用循环改进
4:定义方法实现获取数组中的最高分(数组最大值),调用方法
5:定义方法实现获取数组中的最低分(数组最小值) ,调用方法
6:定义方法实现获取数组中的所有元素的和(数组元素求和) ,调用方法
7:按照计算规则进行计算得到平均分
8:输出平均分

然后我根据思路写出这个案例的代码如下:

public class Test10 {
    public static void main(String[] args) {
        //定义一个数组,用动态初始化完成数组元素的初始化,长度为6
        int[] arr = new int[6];
        //键盘录入评委分数
        Scanner sc = new Scanner(System.in);
      
//        System.out.println("请输入第1个评委的打分:");
//        arr[0] = sc.nextInt();
//
//        System.out.println("请输入第2个评委的打分:");
//        arr[1] = sc.nextInt();

        //由于是6个评委打分,所以,接收评委分数的操作,用循环改进
        for(int x=0; x<arr.length; x++) {
            System.out.println("请输入第" + (x + 1) + "个评委的打分:");
            arr[x] = sc.nextInt();
        }

        //printArray(arr);

        //定义方法实现获取数组中的最高分(数组最大值),调用方法
        int max = getMax(arr);

        //定义方法实现获取数组中的最低分(数组最小值) ,调用方法
        int min = getMin(arr);

        //定义方法实现获取数组中的所有元素的和(数组元素求和) ,调用方法
        int sum = getSum(arr);

        //按照计算规则进行计算得到平均分
        int avg = (sum - max - min) / (arr.length - 2);

        //输出平均分
        System.out.println("选手的最终得分是:" + avg);

    }

    /*
        两个明确:
            返回值类型:int
            参数:int[] arr
     */
    public static int getSum(int[] arr) {
        int sum = 0;

        for(int x=0; x<arr.length; x++) {
            sum += arr[x];
        }

        return sum;
    }

    /*
        两个明确:
            返回值类型:int
            参数:int[] arr
     */
    public static int getMin(int[] arr) {
        int min = arr[0];

        for(int x=1; x<arr.length; x++) {
            if(arr[x] < min) {
                min = arr[x];
            }
        }

        return min;
    }

    /*
        两个明确:
            返回值类型:int
            参数:int[] arr
     */
    public static int getMax(int[] arr) {
        int max = arr[0];

        for(int x=1; x<arr.length; x++) {
            if(arr[x] > max) {
                max = arr[x];
            }
        }

        return max;
    }

    //遍历数组
    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("]");
    }
}

以上就是这个案例的完整的代码,其实这个案例结合的Java基础学习的东西,这里写下来给大家参考看看,其实并不复杂只是对于小白刚入的话就是代码有点长。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值