在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
在学习Java的过程中,最重要的就是多敲代码多练习,只有这样才巩固所学的基础理论知识。本文为大家提供了Java中一个十分经典的基础练习题——评委打分,并且附上了思路和答案,下面大家一起来做做吧~

1、案例需求
在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
2、代码实现
```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);
//由于是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基础练习题评委打分的全部内容,大家都会做了吗?如果想要获得更多的Java基础练习,可以在博学谷官网咨询在线老师,获取学习资源!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
架构和框架的区别是什么?对比分析
架构和框架的区别是什么?相信问这个问题的一定是新手小白。确实会有人在刚刚入门编程的时候,架构和框架的傻傻分不清。本文就框架和架构的定义、使用、特点等等方面,进行对比分析。
17158
2019-08-14 10:19:24
JSP四大作用域及请求范围总结
程序员在写代码的时候,难免会遇到作用域的问题,今天我们要谈的也是JSP的四大作用域。本文主要总结了JSP四大作用域page、request、session和application和它们的请求范围。
12093
2019-08-19 17:23:19
浅谈学习Java需要有哪些基础?
浅谈学习Java需要有哪些基础?对于一个没有接触过编程语言的人来说,一点学习经验都没有,突然想要学习一门Java语言来作为自己的生存技能,就会问学习Java需要具有哪些基础?该如何学习呢?
7693
2020-02-14 17:46:12
线程池经典面试题整理附答案
线程池是一种多线程处理形式,它是Java开发面试中的必考知识点,尤其是在一些大厂的求职面试中,线程池是对求职者考核的重点。为了帮助大家可以更好地通过面试,本文特地为大家整理了线程池经典面试题并附上了答案,下面一起来尝试着做一做吧!
11406
2020-06-17 14:44:17
Spring框架实现依赖注入操作步骤解析
Dependency Injection是spring框架核心 ioc 的具体实现。程序在编写时通过控制反转把对象的创建交给了spring,但是代码中不可能出现没有依赖的情况。ioc 解耦只是降低他们的依赖关系但不会消除,坐等框架把持久层对象传入业务层而不用我们自己去获取。
7303
2021-05-24 11:31:52
