Java初学者作业——编写JAVA程序,计算跳水运动员本次动作的最终得分。

时间:2022-12-04 04:03:17

返回本章节

返回作业目录


需求说明:

编写JAVA程序,计算跳水运动员本次动作的最终得分。

规则如下:

在跳水比赛中,共有六位裁判对运动员所完成的动作进行评分,每位裁判的评分在0~10之间,运动员最终的得分规则为:在六位裁判的评分中去掉一个最高分和一个最低分,其余评分之和即为运动员本次动作的最终得分。

Java初学者作业——编写JAVA程序,计算跳水运动员本次动作的最终得分。

实现思路:

  1. 定义数组scores,存储所有裁判给出的评分。
  2. 定义变量max、min,用于存储最高分和最低分。
  3. 定义变量sum,用于存储所有裁判评分之和。
  4. 使用for循环实现数组scores的初始化。
  5. 使用求最大值和最小值的算法,计算评分中的最高分和最低分,并给变量max和min赋值。
  6. 根据运动员最终得分规则,使用循环结构进行所有评分的累加,并减去最高分和最低分,获取运动员最终得分。

实现代码:

使用 Arrays.sort(scores);排序判断最大值最小值,的方法

import java.util.Arrays;
import java.util.Scanner; public class GetScoresDemo {
public static void main(String[] args) {
System.out.println("请输入6位裁判给出的得分:");
Scanner sc = new Scanner(System.in);
//定义数组,储蓄6位裁判给出的分数
double[] scores = new double[6];
//通过循环接收用户输入的值(裁判给出的分数)
for (int i = 0; i < scores.length; i++) {
scores[i] = sc.nextDouble();
}
Arrays.sort(scores);//进行排序
double max = scores.length-1;//最高分
double min = scores[0];//最低分
double sum = 0;//最终得分
//省略第一个下标和最后一个下标进行累加求和
for (int i = 1; i < scores.length-1; i++) {
sum +=scores[i];
}
//所有的数值都得到,进行格式化输出
System.out.printf("去掉一个最高分:%.2f,一个最低分:%.2f\n",max,min);
System.out.printf("最终得分:%.2f",sum);
}
}

定义一个数,进行比较判断最大值最小值的方法:

import java.util.Arrays;
import java.util.Scanner; public class GetScoresDemo {
public static void main(String[] args) {
System.out.println("请输入6位裁判给出的得分:");
Scanner sc = new Scanner(System.in);
//定义数组,储蓄6位裁判给出的分数
double[] scores = new double[6];
double max,min;//最高分,最低分
double sum = 0;//最终得分
//通过循环接收用户输入的值(裁判给出的分数)
for (int i = 0; i < scores.length; i++) {
scores[i] = sc.nextDouble();
}
//求最低分和最高分
max = scores[0];//设最高分为第一个下标
min = scores[0];//设最低分为第一个下标
for (int i = 0; i < scores.length; i++) {
if(max < scores[i])
max = scores[i];
if(min > scores[i])
min = scores[i];
}
//for循环累加求和
for (double item : scores) {
sum += item;
}
sum = sum - max - min;
//所有的数值都得到,进行格式化输出
System.out.printf("去掉一个最高分:%.2f,一个最低分:%.2f\n",max,min);
System.out.printf("最终得分:%.2f",sum);
}
}