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

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

作業(yè)完成,歡迎討論

不能超過兩萬字?。?<-?評論繼續(xù)貼


先貼截圖:

54dc9a000001e4aa05000436.jpg

54dc99ff000173f404230081.jpg

附代碼

Card.java //撲克牌類

package?com.playcards;

/**
?*?撲克牌類<br>
?*?實現(xiàn)Comparable
?*?
?*?@author?Cothrax
?*?
?*/
public?class?Card?implements?Comparable<Card>?{
????private?Integer?type;
????private?Integer?num;

????/**
?????*?Crad的無參構(gòu)造方法
?????*/
????public?Card()?{

????}

????/**
?????*?Card的有參構(gòu)造方法
?????*?
?????*?@param?type
?????*????????????指牌的花色:黑紅梅方<br>
?????*????????????type?=?1;?==>?方片<br>
?????*????????????type?=?2;?==>?梅花<br>
?????*????????????type?=?3;?==>?紅心<br>
?????*????????????type?=?4;?==>?黑桃<br>
?????*?@param?num
?????*????????????指牌的數(shù)值:1-13
?????*?@exception?Card?type在1-4之間
?????*?@exception?Card?num在1-13之間
?????*/
????public?Card(Integer?type,?Integer?num)?{
????????if?(type?>?4?^?type?<?1)?{
????????????throw?new?IllegalArgumentException("type在1-4之間");
????????}
????????if?(num?<?1?^?num?>?13)?{
????????????throw?new?IllegalArgumentException("num在1-13之間");
????????}
????????this.type?=?type;
????????this.num?=?num;
????}

????/**
?????*?獲取花色的方法
?????*?@return?花色
?????*/
????public?int?getType()?{
????????return?type;
????}

????/**
?????*?設(shè)置花色的方法
?????*?@param?type?新的花色
?????*?@exception?Card?type在1-4之間
?????*/
????public?void?setType(int?type)?{
????????if?(type?>?4?^?type?<?1)?{
????????????throw?new?IllegalArgumentException("type在1-4之間");
????????}
????????this.type?=?type;
????}

????/**
?????*?獲取牌的值的方法
?????*?@return?牌的值
?????*/
????public?int?getNum()?{
????????return?num;
????}

????/**
?????*?設(shè)置牌的值的方法
?????*?@param?num?新的牌值
?????*?@exception?Card?num在1-13之間
?????*/
????public?void?setNum(int?num)?{
????????if?(num?<?1?^?num?>?13)?{
????????????throw?new?IllegalArgumentException("num在1-13之間");
????????}
????????this.num?=?num;
????}

????/**
?????*?重寫的hashCode方法
?????*/
????@Override
????public?int?hashCode()?{
????????final?int?prime?=?31;
????????int?result?=?1;
????????result?=?prime?*?result?+?num;
????????result?=?prime?*?result?+?type;
????????return?result;
????}

????/**
?????*?重寫的equals方法
?????*?@param?obj?與之比較的對象
?????*/
????@Override
????public?boolean?equals(Object?obj)?{
????????if?(this?==?obj)
????????????return?true;
????????if?(obj?==?null)
????????????return?false;
????????if?(getClass()?!=?obj.getClass())
????????????return?false;
????????Card?other?=?(Card)?obj;
????????if?(num?!=?other.num)
????????????return?false;
????????if?(type?!=?other.type)
????????????return?false;
????????return?true;
????}

????/**
?????*?Card轉(zhuǎn)String方法
?????*?
?????*?@return?牌字符串(類型+值)
?????*/
????@Override
????public?String?toString()?{
????????String?typeString?=?"";
????????switch?(type)?{
????????case?1:
????????????typeString?=?"方片";
????????????break;
????????case?2:
????????????typeString?=?"梅花";
????????????break;
????????case?3:
????????????typeString?=?"紅心";
????????????break;
????????case?4:
????????????typeString?=?"黑桃";
????????????break;
????????default:
????????????break;
????????}

????????String?numString;
????????switch?(num)?{
????????case?1:
????????????numString?=?"A";
????????????break;
????????case?11:
????????????numString?=?"J";
????????????break;
????????case?12:
????????????numString?=?"Q";
????????????break;
????????case?13:
????????????numString?=?"K";
????????????break;
????????default:
????????????numString?=?String.valueOf(num);
????????????break;
????????}
????????return?typeString?+?numString;
????}

????@Override
????public?int?compareTo(Card?arg0)?{
????????//?TODO?Auto-generated?method?stub
????????if?(this.type?==?arg0.type)?{
????????????return?this.num.compareTo(arg0.num);
????????}?else?{
????????????return?this.type.compareTo(arg0.type);
????????}
????}

}

Player.java //玩家類

package?com.playcards;

import?java.util.Arrays;


/**
?*?玩家類
?*?@author?Cothrax
?*
?*/
public?class?Player?{
????private?int?id;
????private?String?name;
????private?Card[]?cards;
????
????/**
?????*?Player的無參構(gòu)造方法
?????*/
????public?Player()?{
????}
????/**
?????*?Player的有參構(gòu)造方法
?????*?@param?id?玩家id
?????*?@param?name?玩家名稱
?????*/
????public?Player(int?id,?String?name)?{
????????this.id?=?id;
????????this.name?=?name;
????}
????
????/**
?????*?Player的有參構(gòu)造方法
?????*?@param?id?玩家id
?????*?@param?name?玩家名稱
?????*?@param?cards?玩家手中的牌
?????*?
?????*?@exception?Player?一個玩家手中只能有兩張牌!
?????*/
????public?Player(int?id,?String?name,?Card[]?cards)?{
????????this.id?=?id;
????????this.name?=?name;
????????if?(cards.length?!=?2)?{
????????????throw?new?IllegalArgumentException("一個玩家手中只能有兩張牌!");
????????}
????????this.cards?=?cards;
????}
????/**
?????*?獲取玩家id
?????*?@return?玩家id
?????*/
????public?int?getId()?{
????????return?id;
????}
????/**
?????*?設(shè)置玩家id
?????*?@param?id?新的玩家id
?????*/
????public?void?setId(int?id)?{
????????this.id?=?id;
????}
????/**
?????*?獲取玩家名稱
?????*?@return?玩家名稱
?????*/
????public?String?getName()?{
????????return?name;
????}
????/**
?????*?設(shè)置玩家名稱
?????*?@param?name?新的玩家名稱
?????*/
????public?void?setName(String?name)?{
????????this.name?=?name;
????}
????/**
?????*?獲取玩家手中的牌
?????*?@return?玩家手中的牌
?????*/
????public?Card[]?getCards()?{
????????return?cards;
????}
????/**
?????*?設(shè)置玩家手中的牌
?????*?@param?cards?新的手牌
?????*?@exception?Player?一個玩家手中只能有兩張牌!
?????*/
????public?void?setCards(Card[]?cards)?{
????????if?(cards.length?!=?2)?{
????????????throw?new?IllegalArgumentException("一個玩家手中只能有兩張牌!");
????????}
????????this.cards?=?cards;
????}
????/**
?????*?重寫的hashCode方法
?????*/
????@Override
????public?int?hashCode()?{
????????final?int?prime?=?31;
????????int?result?=?1;
????????result?=?prime?*?result?+?Arrays.hashCode(cards);
????????result?=?prime?*?result?+?id;
????????result?=?prime?*?result?+?((name?==?null)???0?:?name.hashCode());
????????return?result;
????}
????/**
?????*?重寫的eqauls方法
?????*?@param?obj?與之比較的對象
?????*/
????@Override
????public?boolean?equals(Object?obj)?{
????????if?(this?==?obj)
????????????return?true;
????????if?(obj?==?null)
????????????return?false;
????????if?(getClass()?!=?obj.getClass())
????????????return?false;
????????Player?other?=?(Player)?obj;
????????if?(!Arrays.equals(cards,?other.cards))
????????????return?false;
????????if?(id?!=?other.id)
????????????return?false;
????????if?(name?==?null)?{
????????????if?(other.name?!=?null)
????????????????return?false;
????????}?else?if?(!name.equals(other.name))
????????????return?false;
????????return?true;
????}
????
????/**
?????*?返回玩家字符串的方法
?????*?@return?玩家字符串(id+名稱+手牌)
?????*?
?????*/
????@Override
????public?String?toString()?{
????????return?id?+?"號玩家"?+?name?+?":"?+?Arrays.toString(cards);
????}
????
????
????
}



未完

不能超過兩萬字!! <-?評論繼續(xù)貼

正在回答

3 回答

http://img1.sycdn.imooc.com//5518e46d0001962108600387.jpg

有錯誤啊??

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

繼續(xù)貼...

Main.java //測試類

package?com.playcards;

import?java.util.ArrayList;
import?java.util.Scanner;

public?class?Main?{

????public?static?void?main(String[]?args)?{
????????//?TODO?Auto-generated?method?stub
????????System.out.println("————————————創(chuàng)建撲克牌...——————————————");
????????ArrayList<Card>?cards?=?DoCards.createCards();
????????System.out.println("——————————成功創(chuàng)建撲克牌!—————————————");
????????System.out.println("——————————————創(chuàng)建玩家...——————————————");
????????ArrayList<Player>?players?=?DoCards.createPlayer();
????????System.out.println("—————————————創(chuàng)建成功!————————————————");
????????int?times?=?1;
????????int?winner?=?0;
????????while?(true)?{
????????????System.out.println("—————————————洗牌中...—————————————————");
????????????cards?=?DoCards.randomCards(cards);
????????????System.out.println("—————————————成功洗牌!————————————————");
????????????System.out.println("——————————————發(fā)牌...——————————————————");
????????????players?=?DoCards.handCards(players,?cards);
????????????System.out.println("—————————————成功發(fā)牌!————————————————");
????????????System.out.println("———————————游戲開始-第"+times+"局—————————————————");
????????????ArrayList<Card>?maxCards?=?DoCards.playCards(players);
????????????int?isWin?=?DoCards.whoWin(maxCards);
????????????System.out.println(players.get(0).getName()?+?"出牌:?"?+?maxCards.get(0));
????????????System.out.println(players.get(1).getName()?+?"出牌:?"?+?maxCards.get(1));
????????????if?(isWin?>?0)?{
????????????????System.out.println(players.get(0).getName()?+?"贏!");
????????????????winner++;
????????????}?else?if(isWin?==?0)?{
????????????????System.out.println("平局==");
????????????}?else?{
????????????????System.out.println(players.get(1).getName()?+?"贏!");
????????????????winner--;
????????????}
????????????System.out.println("————————————列出玩家手牌——————————————————");
????????????for?(int?i?=?0;?i?<?players.size();?i++)?{
????????????????System.out.println(players.get(i));
????????????}
????????????Scanner?console?=?new?Scanner(System.in);
????????????System.out.println("——————————————第"+times+"局結(jié)束!——————————————————");
????????????
????????????System.out.print("是否在來一局?(yes/no)");
????????????String?isGoOn?=?console.next();
????????????if(isGoOn.toLowerCase().equals("yes"))?{
????????????????System.out.println("再來一局!:)");
????????????????times++;
????????????????continue;
????????????}?else?if?(isGoOn.toLowerCase().equals("no"))?{
????????????????System.out.println("——————————————大結(jié)局————————————————————");
????????????????if?(winner>0)?{
????????????????????System.out.println("最終"+players.get(0).getName()+"勝利!O(∩_∩)O");
????????????????}?else?if(winner<0)?{
????????????????????System.out.println("最終"+players.get(1).getName()+"勝利!(^o^)/~");
????????????????}?else?{
????????????????????System.out.println("最終,平局!-_-!");
????????????????}
????????????????System.out.println("已退出!歡迎再來!(?^_^?)/~~");
????????????????break;
????????????}?else?{
????????????????System.out.println("輸入有誤!╭∩╮(︶︿︶)╭∩╮~~退出!");
????????????????break;
????????????}
????????}
????????
????????
????}

????
????
}

完畢。

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

繼續(xù)貼

DoCards.java?//將創(chuàng)建牌、創(chuàng)建玩家、洗牌、發(fā)牌、玩牌方法放在一起

package?com.playcards;

import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.Random;
import?java.util.Scanner;

/**
?*?Card工具類(也含有Player相關(guān))
?*?@author?Cothrax
?*
?*/
public?class?DoCards?{
????
????/**
?????*?創(chuàng)建一副撲克牌的方法
?????*?@return?一副有序的撲克牌
?????*/
????public?static?ArrayList<Card>?createCards()?{
????????ArrayList<Card>?cards?=?new?ArrayList<Card>();
????????for?(int?i?=?1;?i?<?5;?i++)?{
????????????Integer?type?=?i;
????????????Integer?num?=?1;
????????????while?(num?<?14)?{
????????????????Card?temp?=?new?Card(type,?num);
????????????????cards.add(temp);
????????????????num++;
????????????}
????????}
????????return?cards;
????}
????/**
?????*?洗牌的方法
?????*?@param?originalList?原始的牌
?????*?@return?打亂的牌
?????*/
????public?static?ArrayList<Card>?randomCards(ArrayList<Card>?originalList)?{
????????ArrayList<Card>?temp?=?originalList;
????????ArrayList<Card>?newList?=?new?ArrayList<Card>();
????????int?bound?=?originalList.size();
????????Random?random?=?new?Random();
????????while(temp.size()?!=?0)?{
????????????int?index?=?random.nextInt(bound);
????????????newList.add(originalList.get(index));
????????????originalList.remove(index);
????????????bound--;
????????}
????????return?newList;
????}
????
????/**
?????*?發(fā)牌的方法
?????*?@param?players?玩家序列
?????*?@param?cards?未發(fā)的牌的序列
?????*?@return?發(fā)過牌的玩家的序列
?????*?@exception?DoCards?玩家應(yīng)該有兩人!
?????*?@exception?DoCards?牌不夠了!
?????*/
????public?static?ArrayList<Player>?handCards(ArrayList<Player>?players,?ArrayList<Card>?cards)?{
????????if?(players.size()?!=?2)?{
????????????throw?new?IllegalArgumentException("玩家應(yīng)該有兩人!");
????????}
????????if?(cards.size()?<?4)?{
????????????throw?new?IllegalArgumentException("牌不夠了!("?+?cards.size()?+?")");
????????}
????????Card[]?cards1?=?{cards.get(0),?cards.get(2)};
????????Card[]?cards2?=?{cards.get(1),?cards.get(3)};
????????ArrayList<Player>?newPlayers?=?players;
????????newPlayers.get(0).setCards(cards1);
????????newPlayers.get(1).setCards(cards2);
????????return?newPlayers;
????}
????
????/**
?????*?玩牌的方法
?????*?@param?players?玩家的序列
?????*?@return?最大牌的序列(玩家1的最大牌,玩家2的最大牌)
?????*?@exception?DoCards?玩家應(yīng)該有兩人!
?????*?@exception?玩家的手牌數(shù)不對~~!
?????*/
????public?static?ArrayList<Card>?playCards(ArrayList<Player>?players)?{
????????if?(players.size()?!=?2)?{
????????????throw?new?IllegalArgumentException("玩家應(yīng)該有兩人!");
????????}
????????if?(players.get(0).getCards().length?!=?2?^?
????????????????players.get(1).getCards().length?!=?2)?{
????????????throw?new?IllegalArgumentException("玩家的手牌數(shù)不對~~!");
????????}
????????Card[]?cards1?=?players.get(0).getCards();
????????Card[]?cards2?=?players.get(1).getCards();
????????Arrays.sort(cards1);
????????Arrays.sort(cards2);
????????ArrayList<Card>?maxCards?=?new?ArrayList<Card>();
????????maxCards.add(cards1[1]);
????????maxCards.add(cards2[1]);
????????return?maxCards;
????}
????
????/**
?????*?判斷勝負(fù)的方法
?????*?@param?maxCards?最大牌序列
?????*?@return?哪個玩家勝<br>
?????*?大于0:玩家1勝<br>
?????*?等于0:平局<br>
?????*?小于0:玩家2勝<br>
?????*?@exception?DoCards?參數(shù)非法!
?????*/
????public?static?int?whoWin(ArrayList<Card>?maxCards)?{
????????if?(maxCards.size()!=2)?{
????????????throw?new?IllegalArgumentException("參數(shù)非法!");
????????}
????????return?maxCards.get(0).compareTo(maxCards.get(1));
????}
????
????/**
?????*?創(chuàng)建玩家的方法
?????*?@return?玩家序列
?????*/
????public?static?ArrayList<Player>?createPlayer()?{
????????ArrayList<Player>?al?=?new?ArrayList<Player>();
????????Scanner?console?=?new?Scanner(System.in);
????????for?(int?i?=?1;?i?<?3;?i++)?{
????????????System.out.println("玩家"+i+":");
????????????Integer?id?=?0;
????????????while?(true)?{
????????????????try?{
????????????????????System.out.print("玩家"+i+"的id:");
????????????????????String?idStr?=?console.next();
????????????????????id?=?Integer.valueOf(idStr);
????????????????????if?(i?==?2?&&?id?==?al.get(0).getId())?{
????????????????????????System.out.println("id重復(fù)!");
????????????????????????continue;
????????????????????}
????????????????????break;
????????????????}?catch?(NumberFormatException?e)?{
????????????????????//?TODO:?handle?exception
????????????????????System.out.println("id應(yīng)該是數(shù)字!");
????????????????????continue;
????????????????}
????????????}
????????????String?name?=?"";
????????????while?(true)?{
????????????????System.out.print("輸入玩家"+i+"的名稱:");
????????????????name?=?console.next();
????????????????if?(i?==?2?&&?name.equals(al.get(0).getName()))?{
????????????????????System.out.println("名字重復(fù)!");
????????????????????continue;
????????????????}
????????????????break;
????????????}
????????????
????????????Player?p?=?new?Player(id,?name);
????????????al.add(p);
????????}
????????return?al;
????}
}

未完 ————?不能超過20000字

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

舉報

0/150
提交
取消

作業(yè)完成,歡迎討論

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

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

幫助反饋 APP下載

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

公眾號

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