题目要求:
有6个评委,每个评委给一个分数,分数的范围在0-100之间。
要求输出六个分数中的最大值和最小值,六个分数的总和和六个分数中的平均值。
用函数调用来实现。
代码实现:
package test;
import java.util.Scanner;
public class text3 {
public static void main(String[]args) {
//定义一个数组,来存储六个评委的打分(0-100)
int[] scoreArr=getScores();
for(int i=0;i<scoreArr.length;i++) {
System.out.println(scoreArr[i]);
}
int max=getMax(scoreArr);
int min=getMin(scoreArr);
int sum=getSum(scoreArr);
int avg=(sum-max-min)/(scoreArr.length-2);
//打印结果
System.out.println("选手的最高得分为"+max);
System.out.println("选手的最低得分为"+min);
System.out.println("选手的最终得分为"+avg);
}
/*分析:
* 1.要做什么
* 2.需要什么
* 3.方法是否需要返回值*/
//2.求出数组中的最大值
public static int[] getScores() {
//定义数组
int[]scores=new int[6];
//使用键盘输入的形式,输入分数:0-100
Scanner sc=new Scanner(System.in);
for(int i=0;i<scores.length;) {
System.out.println("请输入评委的打分");
int score=sc.nextInt(); //1-100
if(score>=0&&score<=100) {
scores[i]=score;
i++;
}else {
System.out.println("成绩超出了范围,继续录入,当前的i为"+i);
}
}
return scores;
}
public static int getMax(int[]scoreArr) {
int max=scoreArr[0];
for(int i=0;i<scoreArr.length;i++) {
if(scoreArr[i]>max) {
max=scoreArr[i];
}
}
return max;
}
//3.求出数组中的最小值
//变量名的批量修改
public static int getMin(int[]scoreArr) {
int min=scoreArr[0];
for(int i=0;i<scoreArr.length;i++) {
if(scoreArr[i]<min) {
min=scoreArr[i];
}
}
return min;
}
//4.求出数组中的六个分数的总和
public static int getSum(int[]scoreArr) {
int sum=0;
for(int i=0;i<scoreArr.length;i++) {
sum+=scoreArr[i];
}
return sum;
}
}
结果示例: