首页 > 编程语言 >保龄球积分程序实践

保龄球积分程序实践

时间:2023-04-02 20:44:58浏览次数:34  
标签:分数 10 int 积分 实践 System length scores 保龄球

实验过程:

首先定义一个scanner函数和一个二维数组,用于输入和存储分数

Scanner sc = new Scanner(System.in);
int[][] scores = new int[11][4];

然后循环这个数组首先先循环前十轮并输入其打倒的个数,前九轮分数不是十就再计第二轮的分数;第十轮无论如何都记第二次。然后再计第十轮的分数如果第十轮为十分则再计第十一轮的。

for (int i = 0; i < scores.length; i++) {//循环11轮
    if (i < scores.length - 1) {//循环前10轮
        System.out.printf("请输入第%d轮,第1次打倒的个数:", i + 1);
        scores[i][0] = sc.nextInt();
        if (scores[i][0] < 10 || i == 9) {//前9轮 不是10 就再记第二次分数 ;第10轮无论如何都记2次
            System.out.printf("请输入第%d轮,第2次打倒的个数:", i + 1);
            scores[i][1] = sc.nextInt();
        }
    } else if (scores[i - 1][0] + scores[i - 1][1] >= 10) {//第10轮10分以上 11轮记一次分数
        System.out.printf("请输入第%d轮,第%d次打倒的个数:", i, 3);
        scores[i][0] = scores[i][2] = sc.nextInt();
    }
}

首先写一个关于二维数组的for循环,循环十一次如果保龄球一次全部中的情况下,则由此次分数加上下两次投掷的分数,如果为补种的情况下则只加上下一轮的分数,而如果两次都没又全中则就只有这一轮的分数。

for (int i = 0; i < scores.length-1; i++) {//前11轮
    if (scores[i][0] == 10 && i != 9) {
        if (scores[i + 1][0] == 10 && i < 8){ //前8轮,一次10分 就记后面2投球的分数
            scores[i][2] = scores[i][0] + scores[i + 1][0] + scores[i + 2][0];
        }else if (scores[i + 1][0] != 10 || i == 8){//第9轮10分 记第10轮2次的分数
            scores[i][2] = scores[i][0]  + scores[i + 1][0]  + scores[i + 1][1];
        }
    }else{
        if (scores[i][0] + scores[i][1] == 10 && i < 9){//前9轮 补中10分 加上下轮第一次的分数
            scores[i][2] = scores[i][0] + scores[i][1] + scores[i + 1][0];
        }else{
            scores[i][2] = scores[i][0] + scores[i][1];//2次不足10分 就记这么多
        }
    }
}

接下来是求累计得分

scores[0][3] = scores[0][2];
for(int i = 1; i < scores.length;i++ ){
    scores[i][3]=scores[i][2] + scores[i - 1][3];
}

最后打印所有

 for(int i = 0 ; i < scores.length; i++){
        for(int j = 0 ; j < scores[i].length; j++){
            System.out.print(scores[i][j] + "\t");
        }
        System.out.println("\t第" + (i + 1) +"轮\n");
    }
}

<实验总结>:经过这次的保龄球实验让我受益匪浅,让我明白了代码复审的重要性因为代码刚写完有很多错误和不足所以需要去复审才能找到其中的错误和不足!

标签:分数,10,int,积分,实践,System,length,scores,保龄球
From: https://www.cnblogs.com/ljsbk/p/17281299.html

相关文章

  • 状态同步、帧同步的实践入门
    写在前面在接触网络同步设计时,必然会看到“状态同步”、“帧同步”这俩概念,虽然有百科解释、书、诸多博客、手头工作项目可以参考,但真正走到“开始理解”这一步前,我脑子里常冒出一些问号“看了好几回百科好像和没看一样”,“博客的资料就一定是准确的吗”,“工作项目用的必然经过......
  • JVM系统优化实践(13):GC动手实践
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~上一次留了个小尾巴:怎么以通过代码模拟对象年龄在15岁之后才进入老年代呢?自己试着实现了一下。首先需要设置好相关的JVM环境:-XX:InitialHeapSize=104857600-XX:MaxHeapSize=104857600-XX:NewSize=20971520-XX:MaxNewSize=209715......
  • Turtlebot机器人仿真实践
    使用catkin_create_pkg创建一个新的catkin程序包。换到之前创建的catkin工作空间中的src目录下,使用catkin_create_pkg命令来创建一个名为'myPKG'的新程序包,这个程序包依赖于std_msgs和roscpp环境配置在Ubuntu中的操作指令:$source/opt/ros/indigo/setup.bash。    ......
  • RxJava在业务系统中的实践
    在java的世界里由于大多数接口和API都是阻塞式的交互,进而影响到很多童靴的编程思想和编程习惯。因而,有一些专家讲java的编程模型是阻塞式模型(与Node.js区别大),不是没有道理的。从高性能的视角看,任何阻塞点都可能导致性能的退步。而响应式编程其天然就是非阻塞的,当数据准备完成后自动......
  • elasticsearch实践篇:跨表join查询
    随着业务发展跨表join查询需求越来越多,系统的慢查询不断报出,引入ElasticSearch来实现聚合查询势在必行。ES是一个基于Lucene的搜索引擎,通过将业务主表及辅表的索引字段及需要like字段同步到ES里,每张表的索引字段最终汇总成一个联合索引,来实现多个表的跨表搜索。性能要求检索需求......
  • python从入门到实践第16章 下载数据1
    第一步获取csv格式文件需要python爬虫的相关知识 第二步 先打印第一行观察标签importcsvfilename='data/sitka_weather_2014.csv'withopen(filename)asf:reader=csv.reader(f)header_row=next(reader)print(header_row)['AKST','MaxTempe......
  • 什么是积分(用定积分求面积)
    什么是积分(用定积分求面积)_哔哩哔哩_bilibili ......
  • Ceres 自动求导解析-从原理到实践
    Ceres自动求导解析-从原理到实践目录Ceres自动求导解析-从原理到实践1.0前言2.0Ceres求导简介3.0Ceres自动求导原理3.1官方解释3.2自我理解4.0实践4.1Jet的实现4.2多项式函数自动求导4.3BA问题中的自动求导Reference1.0前言Ceres有一个自动求导功能,只要你按照C......
  • 保龄球计分程序
    总结:从保龄球计分程序中,我对重构有了一点小小的认知,即:把复杂的程序简洁化,把一个具有多个功能的函数拆分成多个函数(如果可以的话,尽可能的拆分一个具有明显功能的类出来),而且为了保障代码的可行性,每进一步对程序功能的添加都需要进行功能的全方位测试,避免到最后程序出现一些......
  • 企业实践 | 如何在阿里云裸金属服务器上使用UEFI模式实践安装国产银河麒麟V10操作系统
    [点击......