关于排球计分系统的第一次迭代

关于这个比赛系统的第一次迭代,使用的是java语言编写的,因为现在的技术有限,所以只能选择在控制台上与用户发生交互,没有实现界面化。之后随着学习的进一步深入,会使用界面来简化操作。

package game.volleyball;

import java.util.Scanner;
/**
 * 排球计分系统
 *
 * 使用DD排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。
 * 1、比赛总共5局,每一局5分,若是有一方领先对方3分,则视为这一方胜利。
 *    5局结束后,统计两方胜利的次数,输出最终胜利的一方。并退出程序
 * 2、使用查询功能可以查询过往的比赛成绩,输出比分和胜利的一方
 */
public class Game {

    static Scanner sca = new Scanner(System.in);
    //scoreArr数组,用来存放5局两队的单轮成绩
    static int[][] scoreArr = new int[5][2];
    //result数组,用来存放每一轮的成绩,方便查询
    static String[] result = new String[5];

    //用来统计两队胜利的次数
    static int ni1 = 0;
    static int ni2 = 0;

    public static void main(String[] args) {
        System.out.println("\n\n    --------欢迎进入DD排球计分系统--------\n\n\n");
        System.out.println("使用说明:使用DD排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。" + "\n1、比赛总共5局,每一局5分,若是有一方领先对方3分,则视为这一方胜利。"
                + "\n  5局结束后,统计两方胜利的次数,输出最终胜利的一方。并退出程序\n" + "2、使用查询功能可以查询过往的比赛成绩,输出比分和胜利的一方");
        for (int i = 0; i < 5;) {
            System.out.println("    请选择您的操作:");
            System.out.println("1、开始计分      2、查询      3、退出系统");
            //用户输入的操作选择
            int choose = sca.nextInt();
            //如果用户输入1
            if (choose == 1) {
                //输出第几局比赛
                System.out.println("现在开始第" + (i + 1) + "局比赛");
                //调用计分方法
                bounds(i);
                i++;
            } else if (choose == 2) {//如果用户输出2
                System.out.println("请输入你要查询的局数:");
                int check = sca.nextInt();
                //判断用户输入的局数是否开始
                if (result[check - 1] == null) {
                    System.out.println("这一局比赛还没有开始。");
                } else {
                    //从数组中找出结果
                    System.out.println(result[check - 1]);
                }
            } else if (choose == 3) {//如果用户输入3,输出当前成绩,并退出程序

                System.out.println("本场比赛结束,当前比分为:中国队VS美国队~~~~~" + ni1 + ":" + ni2);
                System.out.println("谢谢使用DD计分系统,欢迎下次使用,再见");
                System.exit(0);
            } else {
                System.out.println("您的输入有误,请重新输入");
            }
        }

        //5局比赛结束后,本场比赛结束,输出结果,并退出程序
        System.out.println("本场比赛结束,当前比分为:中国队VS美国队~~~~~" + ni1 + ":" + ni2);
        if (ni1 > ni2) {
            System.out.println("中国队取得最终胜利");
        } else {
            System.out.println("美国队取得最终胜利");
        }
        System.out.println("谢谢使用DD计分系统,欢迎下次使用,再见");
    }

    // 计分方法,统计成绩
    public static String[] bounds(int num) {
        int i = 0;
        //如果两队的成绩都小于等于5
        if (scoreArr[num][0] <= 5 && scoreArr[num][1] <= 5) {
            for (;; i++) {
                System.out.println("请输出获胜方的编号,进行加分");
                System.out.println("1、中国队             VS      2、美国队");
                int team = sca.nextInt();
                if (team == 1) {
                    //保留每一局的成绩
                    scoreArr[num][0] += 1;
                    System.out.println("第" + (i + 1) + "轮比赛结束,当前比分为" + scoreArr[num][0] + ":" + scoreArr[num][1]);
                } else if (team == 2) {
                    scoreArr[num][1] += 1;
                    System.out.println("第" + (i + 1) + "轮比赛结束,当前比分为" + scoreArr[num][0] + ":" + scoreArr[num][1]);

                }

                if ((scoreArr[num][0] - scoreArr[num][1]) == 3) {
                    result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "   中国队胜利";
                    System.out.println(result[num]);
                    //每轮比赛结束后,使最终成绩累加1,并返回
                    ni1 += 1;
                    return result;
                } else if ((scoreArr[num][1] - scoreArr[num][0]) == 3) {
                    result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "   美国队胜利";
                    System.out.println(result[num]);
                    ni2 += 1;
                    return result;

                }
            }
        } else if (scoreArr[num][0] > scoreArr[num][1]) {
            result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "   中国队胜利";
            System.out.println(result[num]);
            ni1 += 1;
            return result;
        } else {
            result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "   美国队胜利";
            System.out.println(result[num]);
            ni2 += 1;
            return result;
        }
    }

}

上述代码,是对这个系统的基本实现,能简单的实现对分数的累加和对比赛的查询。

计分的图片

查询的截图

退出的截图

这个系统用到了循环和方法,以及对判断语句的使用。做这种系统,先把逻辑捋顺很重要。

时间: 2024-10-09 07:31:48

关于排球计分系统的第一次迭代的相关文章

快易需求文档编辑系统(二期)第一次迭代开发总结

设想和目标 1.目的: 项目为"快易需求文档智能生成系统".软件需求文档是软件开发与维护的重要基础,本项目希望通过建立一个专业的需求文档编辑系统,为软件开发人员提供一个便捷的协作文档编写工具,推动需求文档编写的规范与文档重用工作.同时,也为广大软件公司提供一个随时可以访问的平台,推广快易文档编写系统. 2. 成果:完成了原定计划中所有第一次迭代的功能和部分第二次迭代的功能. 3. 提高:所有成员各司其职,完成了自己的任务,比起最开始的一无所知有了很大的提升 经验教训:团队内需要多交流沟

第一次迭代作业提交

程序java代码: 1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class volleyball { 5 6 public static void main(String[] args) { 7 8 int[][] scoreArr = new int[5][2];// 定义二维数组,用于记录每局比赛分数 9 int red = 0; 10 int blue = 0;// 定义红蓝变量,用于判断红蓝整场比赛输

第一次迭代

package game; import java.util.Scanner; public class Volleyball { /* * 排球的比赛规则:全场采用五局三胜制度, 每局内: 1.赢一球得2两分 2.首先得到25分的队伍本局胜利. 3.率先赢三局的队伍全场比赛胜利. */ public static void main(String[] args) { int[][] scoreArr = new int[5][2];// 定义二维数组,用于记录每局比赛分数 int red =

第一次迭代作业

package game.volleyball; import java.util.Scanner; /* * 使用DD排球计分系统可以进行简单的排球计分操作以及查询某一局的比分. * 比赛总共5局,每一局5分,若是有一方领先对方3分,则视为这一方胜利. */ public class Game { static Scanner sca = new Scanner(System.in); //定义一个数组,存放5局单轮成绩 static int[][] scoreArr = new int[5]

排球比赛计分系统

一.设计思路 计分系统根据不同角色拥有不同的界面和展示效果: 1.管理员-----用户管理,赛事管理,赛事记录,队伍管理 2.比赛主办方-------赛事管理,队伍管理 3.裁判--------赛事记录 其他人员在管理员未分配权限时不具有任何权限,只能观看比赛信息 运用Struts2和hibernate框架,进行数据视图交互 二.代码部分(比赛计分,信息展示部分) 1.GamesDaoImpl.java package com.dao.impl; import java.util.List; i

在线电力监测系统——第一次迭代开发心得

第一次做项目,第一次用javaee开发web工程项目,很多东西不会,摸着石头过河,也学到了很多东西. 第一次迭代开发,小组总体做出来的东西不多,与计划相比少了不少.完成的大致有两个半模块,其一是登录注册,其二是报警信息展示,其三是工单处理,还在技术上研究了动态数据在图表上的动态展示的实现(基于单个数据项的展示).总体来说,很多后台工作没实现,前端做的页面倒是蛮多,交互功能也有,前端的工作进度是先于后台的:后台开发的滞后性,以致于功能模块的集成进度受到了阻碍. 后台人员主要做了登录,注册,验证码验

ASP.NET MVC 排球计分程序 (三)需求分析与数据库设计

需求分析: 软件名称:排球计分程序 1.  需要键入比赛人员的的姓名,需要根据场上的比赛结果及时做出操作,记分员可以在记错的情况下撤销上一部操作.比赛结束,记分员应能查询到每个队伍的进球情况,以及拦网.击球等的最高分.全场MVP. 2.系统界面:两队比赛,每次有队伍得分,由记分员向系统内输入数据,将该队的分数通过单击按钮的方式加分,每次加分,将分数写入数据库.也应有减分的按钮,每次减分,写入数据库. 系统内:自动计算每队的得分情况是否达到该局胜利,如果胜利及时显示该局胜利的消息. 最后输出:每单

排球计分规则程序说明书

需要完成的目标: 通过程序说明书,更好的更直观的了解排球计分规则.并且使比分程序化,更好的完成现代化进程. 用户: 喜欢排球的观众.裁判员.教练及运动员. 典型场景: 2016里约热内卢夏季奥运会女排总决赛中国女排对阵塞尔维亚女排. 专业术语: 反攻 排球运动四次的一种.指后排防起对方攻来之球以后所组织的反击,和在网上直接拦击对方各种进攻.是得分的主要手段.在比赛中出现次数最多,难度也最大.其过程包括:拦网.后排防守.调整二传和扣球等几个相互衔接的部分.其中拦网是第一道防线,后排防守是反攻的基础

排球计分软件规则说明书

排球计分软件规格说明书 软件应用于:排球计分. 软件介绍:排球计分软件是专门针对排球的一款计分软件,可以利用排球规格轻松计分. 应用此软件可以代替人工计分过程,大大减少了由于人员操作引起的错误.可以使排球计分达到真正的公正,公开性.同时又方便了计分人员的记录操作,系统处理性强,安全性高.此软件以VS2010为开发平台. 软件开发流程:一:需求的分析:为了排球计分人员对排球比赛的充分了解与记录分析,此软件用来计分,和分析排球比赛.也为了方便其他新手排球计分人员的记录. 二: 计划:以VS2010为