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

為了賬號安全,請及時綁定郵箱和手機立即綁定

希望能提點建議,研究很久才弄出這點東西來,參考了部分評論區(qū)的答案

/**
?*Game.java
?*/
package?program;

import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.InputMismatchException;
import?java.util.List;
import?java.util.Scanner;

public?class?Game?{
????private?List<Card>?cardList;
????private?List<Player>?playerList;

????private?Game()?{
????????this.cardList?=?new?ArrayList<Card>();
????????this.playerList?=?new?ArrayList<Player>();
????}

????public?void?createCard()?{
????????System.out.println("------------創(chuàng)建撲克牌----------------");
????????for?(String?suit?:?Card.CARD_SUIT_ARRAY)?{
????????????for?(String?number?:?Card.CARD_NUMBER_ARRAY)?{
????????????????cardList.add(new?Card(suit,?number));
????????????}
????????}
????????System.out.println("------------撲克牌創(chuàng)建成功??!----------------");
????????System.out.println("為:"?+?cardList);
????}

????/**
?????*?通過Collections工具類實現(xiàn)洗牌
?????*/
????public?void?suffleCard()?{
????????System.out.println("------------開始洗牌...----------------");
????????Collections.shuffle(cardList);
????????System.out.println("------------洗牌結束!----------------");
????}

????/**
?????*?創(chuàng)建兩個玩家,并判斷他們的id是否輸入正確和id是否重復
?????*/
????public?void?createPlayer()?{
????????Scanner?console?=?new?Scanner(System.in);
????????int?id;
????????String?name;
????????Boolean?flags?=?false;//?第一次不用判斷是否存在該ID
????????System.out.println("------------創(chuàng)建玩家...----------------");
????????for?(int?i?=?1;?i?<=?2;)?{
????????????System.out.println("請輸入第"?+?i?+?"位玩家ID和姓名:");
????????????try?{
????????????????System.out.println("輸入ID:");
????????????????id?=?console.nextInt();
????????????????if?(flags?==?true?&&?playerList.get(0).getId()?==?id)?{
????????????????????System.out.println("ID已經(jīng)存在,請重新輸入?。?!");
????????????????}?else?{
????????????????????System.out.println("輸入姓名:");
????????????????????name?=?console.next();
????????????????????playerList.add(new?Player(id,?name));
????????????????????i++;
????????????????????flags?=?true;
????????????????}
????????????}?catch?(InputMismatchException?e)?{
????????????????console.next();
????????????????System.out.println("請輸入正確的ID格式(純數(shù)字)?。。?);
????????????}
????????}
????????console.close();
????????console?=?null;
????????for?(Player?player?:?playerList)?{
????????????System.out.println("----歡迎玩家:"?+?player);
????????}
????}

????/**
?????*?發(fā)牌
?????*/
????public?void?deal()?{
????????System.out.println("------------開始發(fā)牌...----------------");
????????for?(int?i?=?0;?i?<?2;?i++)?{
????????????for?(Player?player?:?playerList)?{
????????????????System.out.println("----玩家:"?+?player?+?"-拿牌");
????????????????player.getPlayerCardList().add(cardList.get(0));
????????????????cardList.remove(0);
????????????}
????????}
????????System.out.println("------------發(fā)牌結束!----------------");
????}

????public?void?startGame()?{
????????Player?winPlayer?=?playerList.get(0);//?默認第一個玩家為贏家
????????Card?maxCard?=?playerList.get(0).getPlayerCardList().get(0);//?默認第一個玩家的手牌為最大牌
????????Card?playerMaxCard?=?null;//?每個玩家的最大牌
????????Boolean?flags?=?false;//?判斷是否為第一次,第一次不做平局判斷

????????System.out.println("------------開始游戲...----------------");
????????for?(Player?player?:?playerList)?{
????????????Collections.sort(player.getPlayerCardList());//?對兩玩家的牌進行排序
????????????playerMaxCard?=?player.getPlayerCardList().get(0);//?當前玩家的最大手牌
????????????System.out.println("玩家:"?+?player?+?"最大的手牌為:"?+?playerMaxCard);
????????????if?(maxCard.compareTo(playerMaxCard)?>?0)?{
????????????????winPlayer?=?player;
????????????????maxCard?=?playerMaxCard;
????????????}?else?if?(flags?&&?maxCard.compareTo(playerMaxCard)?==?0)?{
????????????????System.out.println("平局");
????????????}
????????????flags?=?true;
????????}
????????System.out.println("------------玩家:"?+?winPlayer?+?"獲勝!----------------");
????????System.out.println("玩家各自的手牌為:");
????????for?(Player?player?:?playerList)?{
????????????System.out.println(player?+?":"?+?player.getPlayerCardList());
????????}
????}

????public?static?void?main(String[]?args)?{
????????Game?game?=?new?Game();
????????game.createCard();
????????game.suffleCard();
????????game.createPlayer();
????????game.deal();
????????game.startGame();
????}
}


/**
?*Card.java
?*/
package?program;

import?java.util.HashMap;
import?java.util.Map;

public?class?Card?implements?Comparable<Card>?{
????private?String?suit;//?花色
????private?String?number;//?點數(shù)
????public?static?final?String[]?CARD_SUIT_ARRAY?=?{?"方片",?"梅花",?"紅桃",?"黑桃"?};
????public?static?final?String[]?CARD_NUMBER_ARRAY?=?{?"2",?"3",?"4",?"5",?"6",?"7",?"8",?"9",?"10",?"J",?"Q",?"K",
????????????"A"?};

????public?Card(String?suit,?String?number)?{
????????this.suit?=?suit;
????????this.number?=?number;
????}

????@Override
????public?String?toString()?{
????????return?suit?+?number;
????}

????/**
?????*?獲取鍵花色的值
?????*/
????public?int?getSuitValue()?{
????????Map<String,?Integer>?suitMap?=?new?HashMap<String,?Integer>();
????????for?(int?i?=?0;?i?<?CARD_SUIT_ARRAY.length;?i++)?{
????????????suitMap.put(CARD_SUIT_ARRAY[i],?i);
????????}
????????return?suitMap.get(this.suit);
????}

????/**
?????*?獲取點數(shù)的值
?????*/
????public?int?getNumberValue()?{
????????Map<String,?Integer>?numberMap?=?new?HashMap<String,?Integer>();
????????for?(int?i?=?0;?i?<?CARD_NUMBER_ARRAY.length;?i++)?{
????????????numberMap.put(CARD_NUMBER_ARRAY[i],?i);
????????}
????????return?numberMap.get(this.number);
????}

????/**
?????*?這里判斷大小,當點數(shù)不同時判斷點數(shù)大小,點數(shù)相同時比較花色
?????*/
????@Override
????public?int?compareTo(Card?card)?{
????????if?(!card.number.equals(this.number))
????????????return?card.getNumberValue()?-?this.getNumberValue();
????????else
????????????return?card.getSuitValue()?-?this.getSuitValue();
????}
}


/**
?*Player.java
?*/
package?program;

import?java.util.ArrayList;
import?java.util.List;

public?class?Player?{
????private?int?id;
????private?String?name;
????private?List<Card>?playerCardList;

????public?Player(int?id,?String?name)?{
????????this.id?=?id;
????????this.name?=?name;
????????this.playerCardList?=?new?ArrayList<Card>();
????}

????@Override
????public?String?toString()?{
????????return?name;
????}

????public?int?getId()?{
????????return?id;
????}

????public?String?getName()?{
????????return?name;
????}

????public?List<Card>?getPlayerCardList()?{
????????return?playerCardList;
????}
}


正在回答

3 回答

Collections.sort(player.getPlayerCardList());//?對兩玩家的牌進行排序 ? ? ? ? ? playerMaxCard?=?player.getPlayerCardList().get(0);//?當前玩家的最大手牌

請問大神使用sort方法排序不是升序排列嗎

那最大值不應該是playerMaxCard?=?player.getPlayerCardList().get(1);嗎?

有點不懂望解答下謝謝。

0 回復 有任何疑惑可以回復我~
#1

木分慕粉

他compTo函數(shù)里的比較是o-this那就是降序
2019-04-24 回復 有任何疑惑可以回復我~

大神你好,請問下你這代碼是在eclipse復制直接粘貼過來的嗎?怎么這么整齊,我每次粘貼之后都變成一整行,弄成文本形式又沒有空格>.<

0 回復 有任何疑惑可以回復我~
#1

茨弗德列克斯 提問者

點擊“我要發(fā)布”然后選擇“我有問題”,那里有個代碼語言選項,選java再復制過來就可以了
2018-08-19 回復 有任何疑惑可以回復我~
#2

YGT_郁子 回復 茨弗德列克斯 提問者

我就是這樣選擇的然后所有代碼都沒有換行。。全部橫著過去
2018-08-19 回復 有任何疑惑可以回復我~

厲害啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

希望能提點建議,研究很久才弄出這點東西來,參考了部分評論區(qū)的答案

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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