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

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

需求说明:


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

规则如下:

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


56.png


实现思路:


定义数组scores,存储所有裁判给出的评分。

定义变量max、min,用于存储最高分和最低分。

定义变量sum,用于存储所有裁判评分之和。

使用for循环实现数组scores的初始化。

使用求最大值和最小值的算法,计算评分中的最高分和最低分,并给变量max和min赋值。

根据运动员最终得分规则,使用循环结构进行所有评分的累加,并减去最高分和最低分,获取运动员最终得分。


实现代码:

使用 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);
  }
}


相关文章
|
1月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
13天前
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
36 2
|
17天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
29天前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
43 2
|
1月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
|
1月前
|
机器学习/深度学习 算法 搜索推荐
让星星⭐月亮告诉你,Java冒泡排序及其时间复杂度计算
冒泡排序是一种简单的排序算法,通过多次遍历数组,每次比较相邻元素并交换位置,将较小的元素逐步移至数组前端。第一轮结束后,最小值会位于首位;第二轮则将次小值置于第二位,依此类推。经过 (n-1) 轮遍历后,数组完成排序。冒泡排序的时间复杂度为 O(n²),在最优情况下(已排序数组)时间复杂度为 O(n)。示例代码展示了如何实现冒泡排序。
51 1
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
36 1
|
17天前
|
Java API Apache
java集合的组内平均值怎么计算
通过本文的介绍,我们了解了在Java中计算集合的组内平均值的几种方法。每种方法都有其优缺点,具体选择哪种方法应根据实际需求和场景决定。无论是使用传统的循环方法,还是利用Java 8的Stream API,亦或是使用第三方库(如Apache Commons Collections和Guava),都可以有效地计算集合的组内平均值。希望本文对您理解和实现Java中的集合平均值计算有所帮助。
23 0
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
89 3
|
1月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
27 0