第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

交作業(yè)啦,利用索引值判斷牌大小,可以調(diào)節(jié)玩牌的人數(shù)和牌數(shù)

將牌初始化時(shí)按照由小到大排列,其索引值即可表示牌的大小。

Poker.java中利用Map表示玩家的姓名,ID,持有的牌和牌的大小等。

Player.java是玩家的姓名和ID。

/********************Poker.java*******************/
package?com.wangvic.practice.poker;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.HashMap;
import?java.util.InputMismatchException;
import?java.util.List;
import?java.util.Map;
import?java.util.Scanner;
import?java.util.Set;
/**
?*?Poker?list
?*?
?*?@author?mhutc
?*?@param?CARDNUMBER?發(fā)牌數(shù)
?*?@param?PLAYERNUMBER??玩家數(shù)量
?*?@param?pokerList??從小到大排列
?*/
public?class?Poker?{
????/**?從小到大排列?*/
????public?List<PokerDefinition>?pokerList;
????/**?洗好之后的牌?*/
????public?List<PokerDefinition>?pokerShuffleList;
????static?fianl?int?CARDNUMBER?=?3;
????static?final?int?PLAYERNUMBER?=?2;
????private?String[]?colorList?=?{?"方片",?"梅花",?"紅心",?"黑桃"?};
????private?String[]?pointList?=?{?"2",?"3",?"4",?"5",?"6",?"7",?"8",?"9",?"10",
????????????"J",?"Q",?"K",?"A"?};
????public?Map<String,?Player>?mapPlayer?=?new?HashMap<String,?Player>();
????private?Scanner?console?=?new?Scanner(System.in);
????public?Poker()?{
????????this.pokerList?=?new?ArrayList<PokerDefinition>();
????????this.pokerShuffleList?=?new?ArrayList<PokerDefinition>();
????}
????public?void?initialPoker()?{
????????System.out.println("---------創(chuàng)建撲克牌---------");
????????addPoker();
????????System.out.println("--------撲克牌創(chuàng)建成功-------");
????????//?輸出List
????????System.out.println("撲克牌為:"?+?pokerList);
????}
????public?void?addPoker()?{
????????for?(String?point?:?pointList)?{
????????????for?(String?color?:?colorList)?{
????????????????pokerList.add(new?PokerDefinition(color,?point));
????????????}
????????}
????}
????public?void?addPlayer()?{
????????for?(int?i?=?0;?i?<?PLAYERNUMBER;)?{
????????????System.out.println("請輸入第"?+?(i?+?1)?+?"位玩家的ID和姓名");
????????????System.out.println("輸入ID:");
????????????try?{
????????????????String?id?=?console.nextInt()?+?"";
????????????????if?(mapPlayer.containsKey(id))?{
????????????????????System.out.println("該ID已經(jīng)被占用,請重新輸入:");
????????????????????continue;
????????????????}?else?{
????????????????????System.out.println("輸入姓名:");
????????????????????String?name?=?console.next();
????????????????????mapPlayer.put(id,?new?Player(id,?name));
????????????????????i++;
????????????????}
????????????}?catch?(InputMismatchException?e)?{
????????????????System.out.println("Warning,請輸入整數(shù)");
????????????????console.next();
????????????????//?TODO:?handle?exception
????????????}
????????}
????}
????public?void?showPlayer()?{
????????Set<String>?id?=?mapPlayer.keySet();
????????for?(String?string?:?id)?{
????????????System.out.println("----歡迎玩家:"?+?mapPlayer.get(string).getName());
????????}
????}
????public?void?initialPlayer()?{
????????addPlayer();
????????showPlayer();
????????System.out.println("----------玩家已就位----------");
????????System.out.println("---------游戲即將開始---------");
????}
????/**
?????*?Shuffle?the?poker.
?????*/
????public?void?shufflePoker()?{
????????pokerShuffleList.addAll(pokerList);
????????Collections.shuffle(pokerShuffleList);
????}
????/**
?????*?Start?poker?game.
?????*/
????public?void?start()?{
????????initialPoker();
????????initialPlayer();
????}
????/**
?????*?Shuffle?the?poker?and?deal.
?????*/
????public?void?dealPoker()?{
????????shufflePoker();
????????//?輸出List
????????System.out.println("洗牌后撲克牌為:"?+?this.pokerShuffleList);
????????//?Everyone?got?two?poker?cards.
????????for?(int?i?=?0;?i?<?CARDNUMBER;?i++)?{
????????????int?j?=?0;
????????????Set<String>?id?=?mapPlayer.keySet();
????????????for?(String?string?:?id)?{
????????????????System.out.println(
????????????????????????"----玩家"?+?mapPlayer.get(string).getName()?+?"-拿牌");
????????????????PokerDefinition?pd?=?pokerShuffleList.get(i?*?PLAYERNUMBER?+?j);
????????????????mapPlayer.get(string).playerPoker.add(pd);
????????????????int?record?=?pokerList.indexOf(pd);
????????????????mapPlayer.get(string).record.add(record);
????????????????j++;
????????????}
????????}
????}
????public?void?showPoker()?{
????????Set<String>?id?=?mapPlayer.keySet();
????????for?(String?string?:?id)?{
????????????System.out.println(
????????????????????"----玩家"?+?mapPlayer.get(string).getName()?+?"-拿的牌是:");
????????????System.out.println(mapPlayer.get(string).playerPoker);
????????????System.out.println(
????????????????????"----玩家"?+?mapPlayer.get(string).getName()?+?"的成績是:");
????????????System.out.println(mapPlayer.get(string).record);
????????}
????}
????public?int?getMaxRecord(List<Integer>?record)?{
????????Collections.sort(record);
????????int?size?=?record.size();
????????return?record.get(size?-?1);
????}
????public?int?compare(Map<String,?Player>?mapPlayer)?{
????????List<Integer>?maxRecord?=?new?ArrayList<Integer>();
????????Set<String>?id?=?mapPlayer.keySet();
????????for?(String?string?:?id)?{
????????????int?temp?=?getMaxRecord(mapPlayer.get(string).record);
????????????System.out.print(
????????????????????"玩家"?+?mapPlayer.get(string).getName()?+?"的最高成績是:"?+?temp);
????????????System.out.println(",最大牌是:"?+?pokerList.get(temp));
????????????maxRecord.add(temp);
????????}
????????Collections.sort(maxRecord);
????????return?maxRecord.get(maxRecord.size()?-?1);
????}
????public?void?result()?{
????????int?result?=?compare(mapPlayer);
????????Set<String>?id?=?mapPlayer.keySet();
????????for?(String?string?:?id)?{
????????????if?(mapPlayer.get(string).record.contains(result))?{
????????????????System.out.println(
????????????????????????"恭喜玩家"?+?mapPlayer.get(string).getName()?+?"勝利!");
????????????????break;
????????????}
????????}
????}
????public?static?void?main(String[]?args)?{
????????Poker?poker?=?new?Poker();
????????poker.start();//?游戲開始,初始化玩家和牌
????????poker.dealPoker();//?洗牌和發(fā)牌
????????poker.showPoker();//?玩家牌展示
????????poker.result();
????}
}
/*********************Player.java*****************/
package?com.wangvic.practice.poker;
import?java.util.ArrayList;
import?java.util.HashSet;
import?java.util.List;
import?java.util.Set;
/**
?*?
?*?@author?mhutc
?*
?*/
public?class?Player?{
????private?String?id;
????private?String?name;
????public?List<Integer>?record;
????public?Set<PokerDefinition>?playerPoker;
????public?String?getId()?{
????????return?id;
????}
????public?void?setId(String?id)?{
????????this.id?=?id;
????}
????public?String?getName()?{
????????return?name;
????}
????public?void?setName(String?name)?{
????????this.name?=?name;
????}
????public?Player(String?id,?String?name)?{
????????this.id?=?id;
????????this.name?=?name;
????????this.playerPoker?=?new?HashSet<PokerDefinition>();
????????this.record?=?new?ArrayList<Integer>();
????}
}
/*******************PokerDefinition.java*****************/
package?com.wangvic.practice.poker;
/**
?*?
?*?@author?mhutc
?*
?*/
public?class?PokerDefinition?{
????/**
?????*?(non-Javadoc)
?????*?
?????*?@see?java.lang.Object#hashCode()
?????*/
????@Override
????public?int?hashCode()?{
????????final?int?prime?=?31;
????????int?result?=?1;
????????result?=?prime?*?result?+?((color?==?null)???0?:?color.hashCode());
????????result?=?prime?*?result?+?((point?==?null)???0?:?point.hashCode());
????????return?result;
????}
????/**
?????*?(non-Javadoc)
?????*?
?????*?@see?java.lang.Object#equals(java.lang.Object)
?????*/
????@Override
????public?boolean?equals(Object?obj)?{
????????if?(this?==?obj)?{
????????????return?true;
????????}
????????if?(obj?==?null)?{
????????????return?false;
????????}
????????if?(!(obj?instanceof?PokerDefinition))?{
????????????return?false;
????????}
????????PokerDefinition?other?=?(PokerDefinition)?obj;
????????if?(color?==?null)?{
????????????if?(other.color?!=?null)?{
????????????????return?false;
????????????}
????????}?else?if?(!color.equals(other.color))?{
????????????return?false;
????????}
????????if?(point?==?null)?{
????????????if?(other.point?!=?null)?{
????????????????return?false;
????????????}
????????}?else?if?(!point.equals(other.point))?{
????????????return?false;
????????}
????????return?true;
????}
????private?String?color;
????private?String?point;
????public?PokerDefinition()?{
????}
????public?PokerDefinition(String?color,?String?point)?{
????????this.color?=?color;
????????this.point?=?point;
????}
????public?String?getColor()?{
????????return?color;
????}
????/**
?????*?(non-Javadoc)
?????*?
?????*?@see?java.lang.Object#toString()
?????*/
????@Override
????public?String?toString()?{
????????//?TODO?Auto-generated?method?stub
????????return??color?+?point;
????}
????public?void?setColor(String?color)?{
????????this.color?=?color;
????}
????public?String?getPoint()?{
????????return?point;
????}
????public?void?setPoint(String?point)?{
????????this.point?=?point;
????}
}


正在回答

1 回答

在添加玩家的?AddPlayer()方法中,使用continue,在輸入錯(cuò)誤的情況下,會導(dǎo)致玩家變少吧?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

wangvic21 提問者

不會的,i++在else{}里面,continue時(shí)會跳過else重新循環(huán)。
2018-11-20 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Candy_cans 回復(fù) wangvic21 提問者

誒……好像是這么回事哈~尷尬
2018-11-20 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

交作業(yè)啦,利用索引值判斷牌大小,可以調(diào)節(jié)玩牌的人數(shù)和牌數(shù)

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號