Java实现排球比赛计分系统

作者:懒懒的 时间:2021-07-11 09:11:14 

初步计划:

或许由于个人原因,排球计分系统在假期就完成了,一直未写博客,就这样一直在推就是不想写,在加上过完年就工作了,可能刚实习工作比较紧所以一直等到现在。

写这个系统之前我简单构思了一下,因为离校前我去洛阳参加了一个多月的Java培训,所以写项目用的ide是Java环境。刚开始考虑用jsp做界面,架构用mvc,但是后来一想工作量太大而且效果也不是很好。最终写了纯Java代码,在虚拟机上展示。

需求分析:

排球竞赛为五局三胜制,每局比赛中得够25分并且领先对方2分以上的一方将获得一局胜利,先获得三局胜利的一方将获得比赛的胜利。若比赛中出现24:24的比分,则一方必须领先对方2分方可结束一局。若双方前四局的比分为2:2,则将进行第五局的比赛,第五局比赛中得够15分并且领先对方2分以上的一方将获得胜利。若比赛中出现14:14的比分,则一方必须领先对方2分方可结束比赛。

用户典例:

Java实现排球比赛计分系统

代码设计:


package ss;

import java.util.Scanner;
/**
* 排球计分系统
*
* 使用排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。
* 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  --------欢迎进入ww排球计分系统--------\n\n\n");
   System.out.println("使用说明:使用ww排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。" + "\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("谢谢使用ww计分系统,欢迎下次使用,再见");
       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("谢谢使用ww计分系统,欢迎下次使用,再见");
 }

// 计分方法,统计成绩
 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;
   }
 }

}

 运行界面:

Java实现排球比赛计分系统Java实现排球比赛计分系统

PsP耗时:

Java实现排球比赛计分系统

总结:由于学习Java的时间不是很长写这个项目的时候遇到了一些问题,不过最后都解决了,因为学过C#,两者的基础也比较像似,用的时间也不是很多,由于时间比较紧张,公司正在做项目,或许不能像在学校有充足的时间,但是我一定认真的对待的。

标签:java,计分系统
0
投稿

猜你喜欢

  • Java WebService开源框架CXF详解

    2023-12-20 13:02:35
  • MyBatis-Plus实现逻辑删除的示例代码

    2022-05-14 06:12:35
  • java,android,MD5加密算法的实现代码(16位,32位)

    2022-07-12 20:40:10
  • Spring Boot如何通过CORS处理跨域问题

    2021-09-10 02:44:15
  • Java二维数组简单定义与使用方法示例

    2022-01-28 08:31:37
  • maven中下载jar包源码和javadoc的命令介绍

    2023-07-27 04:41:01
  • 浅谈byte和长度为8的boolean数组互相转换

    2023-11-07 00:34:37
  • java实现给图片加铺满的网格式文字水印

    2023-07-30 05:22:12
  • 分析ABA问题的本质及其解决办法

    2021-12-20 13:59:26
  • java GUI编程之监听操作实例分析

    2022-09-28 05:55:53
  • MyBatis实现多表联合查询resultType的返回值

    2023-03-11 22:25:37
  • MyBatis框架底层的执行原理源码解析

    2023-10-28 12:19:27
  • java使用lambda表达式对List集合进行操作技巧(JDK1.8)

    2021-05-30 06:41:06
  • 基于java构造方法Vector修改元素源码分析

    2023-11-25 10:54:56
  • java自定义异常打印内容详解

    2022-03-10 23:58:32
  • 深入C# 内存管理以及优化的方法详解

    2021-10-24 14:24:03
  • java中的JsonSerializer用法,前后端单位转换必备

    2022-05-01 07:58:48
  • SpringBoot使用Thymeleaf模板引擎访问静态html的过程

    2023-11-25 10:04:44
  • Springboot详解实现食品仓库管理系统流程

    2023-11-10 18:33:15
  • SpringCloud断路器Hystrix原理及用法解析

    2022-03-20 16:47:41
  • asp之家 软件编程 m.aspxhome.com