前言:
当前大家对“平分算法java”大体比较看重,兄弟们都想要知道一些“平分算法java”的相关知识。那么小编在网络上收集了一些关于“平分算法java””的相关文章,希望各位老铁们能喜欢,小伙伴们一起来了解一下吧!第十八天学习java:
今天回归,懒了,停止学习了这么久,今天重新拾起来吧。毕竟时间不等人不。中秋刚刚过去,离国庆只有8天,离教资考试38天,离四级考试还有87天,离新年还有101天,离专升本还有235天。加油!别想太多了,冲冲冲!哎、
一、评委打分
接着最后一个复习例子,评委打分。先看需求:
在一场比赛中,有六个评委对选手进行打分,分数为0到100的整数分,但是选手的最终得分要按照:去掉一个最高分和一个最低分后,其余四个评委的分数的平均分。(不考虑小数部分)
(1)思路:
①6个评委打分,就是一个数字,我们可以通过数组的方式来储存,因为是确定了6个数组长度,因此我们使用动态初始化数组。长度就是6。
②评委分数是通过键盘输入的,所以我们还要运用键盘输入。
③因为是6个评委的分数,这很明显是重复了的,所以我们只需写一个循环,让他自己去循环键盘输入就可以。
④使用之前学习过的方法,在一组数组中找到最大值(也就是最高分)
⑤使用之前学习过的方法,在一组数组中找到最小值(也就是最低分)
⑥使用之前学习过的方法,求一组数组中所有元素的和。
⑦按照要求来,计算选手最终得分。
⑧输出最后得分。
Tip:所有的实现,都应该使用定义方法的办法。定义方法要明确两点:返回值的类型和参数。
(2)代码实现:
int [ ] = new int [ 6 ]; 定义一个长度为6的动态数组
Scanner sc = new Scanner (System.in); 实现键盘输入
for (int x = 0 ; x < arr.length; x ++ ){
System.out.println(“请输入第” + (x + 1 )+ “个评委的打分:”);
arr[ x ] = sc.nextInt( );
} 利用for循环改进键盘输入。
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 int getMax (int [ ] arr){
int min = arr[ 0 ] ;
for (int x = 1 ; x < arr.length; x ++ ){
if (arr [ x ] < min){
min = arr [ x ];
}
}
return min;
} 定义一个方法,求最小值的数。
求和:
Public static int getSum (int [ ] arr){
int sum = 0 ;
for (int x = 0 ; x < arr.length; x ++ ){
sum += arr[ x ];
}
Return sum;
}
最后根据需求计算最后得分:
int max = getMax(arr);
int min = getMin(arr);
int sum = getSum(arr);
int avg = (sum - max - min) / (arr.length - 2);
输出平均分:
System.out.println(“选手的最终得分是:” + avg);
明日再见!
标签: #平分算法java