文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java实现排球比赛计分系统

2023-05-31 12:18

关注

初步计划:

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

写这个系统之前我简单构思了一下,因为离校前我去洛阳参加了一个多月的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;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;    }  } }

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯