日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java小程序:单循环比赛,总分高者获胜的源代码

發布時間:2023/12/14 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java小程序:单循环比赛,总分高者获胜的源代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java5個人4項單循環比賽,每項決勝者得2分,平分各得一分,敗者不得分,總分高著獲勝的源代碼

程序運行截圖:


1.單循環賽,是所有參加比賽的隊均能相遇一次

2.運動員類Sportsman
3.運動項目類SportsEvents
4.運動場地類PlayingField
5.測試類

運動員類

/*** 運動員* */public class Sportsman {int ID;String name;Map<Integer, SportsEvents> map;// 參賽項目int totalScore;// 總得分public Sportsman(int ID, String name) {this.ID = ID;this.name = name;// 默認參加所有四場賽事this.map = new HashMap<Integer, SportsEvents>();map.put(0, new SportsEvents(0, "項目1"));map.put(1, new SportsEvents(1, "項目2"));map.put(2, new SportsEvents(2, "項目3"));map.put(3, new SportsEvents(3, "項目4"));}public void setScore(SportsEvents spEvents) {totalScore += spEvents.scoreRule.score;}}
運動項目類

/*** 運動項目 單循環賽,所有參加比賽的隊均能相遇一次*/ public class SportsEvents {int ID;String name;// 項目名稱ScoreRule scoreRule;// 得分規則public SportsEvents(int ID, String name) {this.ID = ID;this.name = name;}public void setFlag(ScoreRule scoreRule) {this.scoreRule = scoreRule;String flag = scoreRule.flag;if ("失敗".compareTo(flag) == 0) {scoreRule.score = 0;} else if ("勝利".compareTo(flag) == 0) {scoreRule.score = 2;} else if ("平局".compareTo(flag) == 0) {scoreRule.score = 1;}}// 得分規則類class ScoreRule {int score;// 分值 決勝者得2分 平分各得一分 敗者不得分String flag;// 失敗/勝利/平局標示} }
運動場地類
/** 比賽場地* */ public class PlayingField {/*** 開始比賽* * @param sportsman* @param sportsman2* @param ID*/public void start(Sportsman sportsman, Sportsman sportsman2, int ID) {// 0<=Math.random()<1// 隨機抽取一個數0 1 2// 0:sportsman 獲勝 1:sportsman2獲勝 2:平局int random = (int) (Math.random() * 3);switch (random) {case 0: {SportsEvents sportsEvents = sportsman.map.get(ID);ScoreRule scoreRule = sportsEvents.new ScoreRule();scoreRule.flag = "勝利";sportsEvents.setFlag(scoreRule);sportsman.setScore(sportsEvents);SportsEvents sportsEvents2 = sportsman2.map.get(ID);ScoreRule scoreRule2 = sportsEvents2.new ScoreRule();scoreRule2.flag = "失敗";sportsEvents2.setFlag(scoreRule2);sportsman2.setScore(sportsEvents2);}break;case 1: {SportsEvents sportsEvents = sportsman.map.get(ID);ScoreRule scoreRule = sportsEvents.new ScoreRule();scoreRule.flag = "失敗";sportsEvents.setFlag(scoreRule);sportsman.setScore(sportsEvents);SportsEvents sportsEvents2 = sportsman2.map.get(ID);ScoreRule scoreRule2 = sportsEvents2.new ScoreRule();scoreRule2.flag = "勝利";sportsEvents2.setFlag(scoreRule2);sportsman2.setScore(sportsEvents2);}break;case 2: {SportsEvents sportsEvents = sportsman.map.get(ID);ScoreRule scoreRule = sportsEvents.new ScoreRule();scoreRule.flag = "平局";sportsEvents.setFlag(scoreRule);sportsman.setScore(sportsEvents);SportsEvents sportsEvents2 = sportsman2.map.get(ID);ScoreRule scoreRule2 = sportsEvents2.new ScoreRule();scoreRule2.flag = "平局";sportsEvents2.setFlag(scoreRule2);sportsman2.setScore(sportsEvents2);}break;default:break;}} } 測試類:

public class Test {public static final void main(String[] args) {// 單循環賽,是所有參加比賽的隊均能相遇一次// java5個人4項單循環比賽,每項決勝者得2分,平分各得一分,敗者不得分,總分高著獲勝Sportsman[] sportsmans = new Sportsman[] { new Sportsman(0, "劉剛"),new Sportsman(1, "李毅"), new Sportsman(2, "趙四"),new Sportsman(3, "劉能"), new Sportsman(4, "王小寶") };PlayingField playingField = new PlayingField();for (int sportsEventsID = 0; sportsEventsID < 4; sportsEventsID++) {for (int i = 0; i < 5; i++) {for (int j = i + 1; j < 5; j++) {playingField.start(sportsmans[i], sportsmans[j],sportsEventsID);}}}for (int i = 0; i < sportsmans.length; i++) {System.out.println(sportsmans[i].name + "總得分:"+ sportsmans[i].totalScore);}} }

總結

以上是生活随笔為你收集整理的Java小程序:单循环比赛,总分高者获胜的源代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。