溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java實(shí)現(xiàn)排球比賽計(jì)分系統(tǒng)

發(fā)布時(shí)間:2020-10-13 20:39:12 來源:腳本之家 閱讀:239 作者:懶懶的 欄目:編程語言

初步計(jì)劃:

或許由于個(gè)人原因,排球計(jì)分系統(tǒng)在假期就完成了,一直未寫博客,就這樣一直在推就是不想寫,在加上過完年就工作了,可能剛實(shí)習(xí)工作比較緊所以一直等到現(xiàn)在。

寫這個(gè)系統(tǒng)之前我簡單構(gòu)思了一下,因?yàn)殡x校前我去洛陽參加了一個(gè)多月的Java培訓(xùn),所以寫項(xiàng)目用的ide是Java環(huán)境。剛開始考慮用jsp做界面,架構(gòu)用mvc,但是后來一想工作量太大而且效果也不是很好。最終寫了純Java代碼,在虛擬機(jī)上展示。

需求分析:

排球競賽為五局三勝制,每局比賽中得夠25分并且領(lǐng)先對方2分以上的一方將獲得一局勝利,先獲得三局勝利的一方將獲得比賽的勝利。若比賽中出現(xiàn)24:24的比分,則一方必須領(lǐng)先對方2分方可結(jié)束一局。若雙方前四局的比分為2:2,則將進(jìn)行第五局的比賽,第五局比賽中得夠15分并且領(lǐng)先對方2分以上的一方將獲得勝利。若比賽中出現(xiàn)14:14的比分,則一方必須領(lǐng)先對方2分方可結(jié)束比賽。

用戶典例:

Java實(shí)現(xiàn)排球比賽計(jì)分系統(tǒng)

代碼設(shè)計(jì):

package ss;
 
import java.util.Scanner;
/**
 * 排球計(jì)分系統(tǒng)
 *
 * 使用排球計(jì)分系統(tǒng)可以進(jìn)行簡單的排球計(jì)分操作以及查詢某一局的比分。
 * 1、比賽總共5局,每一局5分,若是有一方領(lǐng)先對方3分,則視為這一方勝利。
 * 5局結(jié)束后,統(tǒng)計(jì)兩方勝利的次數(shù),輸出最終勝利的一方。并退出程序
 * 2、使用查詢功能可以查詢過往的比賽成績,輸出比分和勝利的一方
 */
public class Game {
   
  static Scanner sca = new Scanner(System.in);
  //scoreArr數(shù)組,用來存放5局兩隊(duì)的單輪成績
  static int[][] scoreArr = new int[5][2];
  //result數(shù)組,用來存放每一輪的成績,方便查詢
  static String[] result = new String[5];
   
  //用來統(tǒng)計(jì)兩隊(duì)勝利的次數(shù)
  static int ni1 = 0;
  static int ni2 = 0;
 
  public static void main(String[] args) {
    System.out.println("\n\n  --------歡迎進(jìn)入ww排球計(jì)分系統(tǒng)--------\n\n\n");
    System.out.println("使用說明:使用ww排球計(jì)分系統(tǒng)可以進(jìn)行簡單的排球計(jì)分操作以及查詢某一局的比分。" + "\n1、比賽總共5局,每一局5分,若是有一方領(lǐng)先對方3分,則視為這一方勝利。"
        + "\n 5局結(jié)束后,統(tǒng)計(jì)兩方勝利的次數(shù),輸出最終勝利的一方。并退出程序\n" + "2、使用查詢功能可以查詢過往的比賽成績,輸出比分和勝利的一方");
    for (int i = 0; i < 5;) {
      System.out.println("  請選擇您的操作:");
      System.out.println("1、開始計(jì)分   2、查詢   3、退出系統(tǒng)");
      //用戶輸入的操作選擇
      int choose = sca.nextInt();
      //如果用戶輸入1
      if (choose == 1) {
        //輸出第幾局比賽
        System.out.println("現(xiàn)在開始第" + (i + 1) + "局比賽");
        //調(diào)用計(jì)分方法
        bounds(i);
        i++;
      } else if (choose == 2) {//如果用戶輸出2
        System.out.println("請輸入你要查詢的局?jǐn)?shù):");
        int check = sca.nextInt();
        //判斷用戶輸入的局?jǐn)?shù)是否開始
        if (result[check - 1] == null) {
          System.out.println("這一局比賽還沒有開始。");
        } else {
          //從數(shù)組中找出結(jié)果
          System.out.println(result[check - 1]);
        }
      } else if (choose == 3) {//如果用戶輸入3,輸出當(dāng)前成績,并退出程序
         
        System.out.println("本場比賽結(jié)束,當(dāng)前比分為:中國隊(duì)VS美國隊(duì)~~~~~" + ni1 + ":" + ni2);
        System.out.println("謝謝使用ww計(jì)分系統(tǒng),歡迎下次使用,再見");
        System.exit(0);
      } else {
        System.out.println("您的輸入有誤,請重新輸入");
      }
    }
     
    //5局比賽結(jié)束后,本場比賽結(jié)束,輸出結(jié)果,并退出程序
    System.out.println("本場比賽結(jié)束,當(dāng)前比分為:中國隊(duì)VS美國隊(duì)~~~~~" + ni1 + ":" + ni2);
    if (ni1 > ni2) {
      System.out.println("中國隊(duì)取得最終勝利");
    } else {
      System.out.println("美國隊(duì)取得最終勝利");
    }
    System.out.println("謝謝使用ww計(jì)分系統(tǒng),歡迎下次使用,再見");
  }
 
  // 計(jì)分方法,統(tǒng)計(jì)成績
  public static String[] bounds(int num) {
    int i = 0;
    //如果兩隊(duì)的成績都小于等于5
    if (scoreArr[num][0] <= 5 && scoreArr[num][1] <= 5) {
      for (;; i++) {
        System.out.println("請輸出獲勝方的編號,進(jìn)行加分");
        System.out.println("1、中國隊(duì)       VS   2、美國隊(duì)");
        int team = sca.nextInt();
        if (team == 1) {
          //保留每一局的成績
          scoreArr[num][0] += 1;
          System.out.println("第" + (i + 1) + "輪比賽結(jié)束,當(dāng)前比分為" + scoreArr[num][0] + ":" + scoreArr[num][1]);
        } else if (team == 2) {
          scoreArr[num][1] += 1;
          System.out.println("第" + (i + 1) + "輪比賽結(jié)束,當(dāng)前比分為" + scoreArr[num][0] + ":" + scoreArr[num][1]);
 
        }
 
        if ((scoreArr[num][0] - scoreArr[num][1]) == 3) {
          result[num] = "第" + (num + 1) + "局,比分為" + scoreArr[num][0] + ":" + scoreArr[num][1] + "  中國隊(duì)勝利";
          System.out.println(result[num]);
          //每輪比賽結(jié)束后,使最終成績累加1,并返回
          ni1 += 1;
          return result;
        } else if ((scoreArr[num][1] - scoreArr[num][0]) == 3) {
          result[num] = "第" + (num + 1) + "局,比分為" + scoreArr[num][0] + ":" + scoreArr[num][1] + "  美國隊(duì)勝利";
          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] + "  中國隊(duì)勝利";
      System.out.println(result[num]);
      ni1 += 1;
      return result;
    } else {
      result[num] = "第" + (num + 1) + "局,比分為" + scoreArr[num][0] + ":" + scoreArr[num][1] + "  美國隊(duì)勝利";
      System.out.println(result[num]);
      ni2 += 1;
      return result;
    }
  }
 
}

 運(yùn)行界面:

Java實(shí)現(xiàn)排球比賽計(jì)分系統(tǒng)Java實(shí)現(xiàn)排球比賽計(jì)分系統(tǒng)

PsP耗時(shí):

Java實(shí)現(xiàn)排球比賽計(jì)分系統(tǒng)

總結(jié):由于學(xué)習(xí)Java的時(shí)間不是很長寫這個(gè)項(xiàng)目的時(shí)候遇到了一些問題,不過最后都解決了,因?yàn)閷W(xué)過C#,兩者的基礎(chǔ)也比較像似,用的時(shí)間也不是很多,由于時(shí)間比較緊張,公司正在做項(xiàng)目,或許不能像在學(xué)校有充足的時(shí)間,但是我一定認(rèn)真的對待的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI