1. 程式人生 > >編寫一個撲克類(每張撲克有花色和數值,例如紅心A,草花10),將52張撲克牌放到集合中(自己去選擇集合類) 編寫3個方法 方法1.將集合中的所有撲克重新洗牌,並將撲克輸出(打印出來即可) 方法2

編寫一個撲克類(每張撲克有花色和數值,例如紅心A,草花10),將52張撲克牌放到集合中(自己去選擇集合類) 編寫3個方法 方法1.將集合中的所有撲克重新洗牌,並將撲克輸出(打印出來即可) 方法2

/**
 * Created by whp on 2018/8/1.
 */
public class Poker {
    String color;
    String number;

    public Poker(String color, String number) {
        this.color = color;
        this.number = number;
    }

    @Override
    public String toString() {
        return "["+this.color+this.number+"]"
; } } /** * Created by whp on 2018/8/1. */ public class PokerFounction { String[] colors={"黑心","紅心","草花","方塊"}; String[] numbers={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; ArrayList list=new ArrayList(); public ArrayList createPoker(){ for(int i=0;i<colors.length;i++){ for
(int j=0;j<numbers.length;j++){ list.add(new Poker(colors[i],numbers[j])); } } return list; } public void shufflePoker(ArrayList pokers){ Random random=new Random(); for(int i=0;i<100;i++) { int index1 = random.nextInt(pokers.size()); int
index2 = random.nextInt(pokers.size()); Poker poker1 = (Poker) list.get(index1); Poker poker2 = (Poker) list.get(index2); pokers.set(index1, poker2); pokers.set(index2, poker1); } } public void showPoker(ArrayList pokers){ for(int i=0;i<pokers.size();i++){ System.out.print(pokers.get(i)); if(i%13==12){ System.out.println(); } } } } /** * Created by whp on 2018/8/1. * 編寫一個撲克類(每張撲克有花色和數值,例如紅心A,草花10),將52張撲克牌放到集合中(自己去選擇集合類) 編寫3個方法 方法1.將集合中的所有撲克重新洗牌,並將撲克輸出(打印出來即可) 方法2.將集合中的所有撲克排序(按方塊3~方塊2,草花3~草花2, 紅心3~紅心2, 黑桃3~黑桃2的順序排序) 方法3:比較兩張撲克牌的大小,如果版面的值相等,則按(黑桃->紅心->草花->方塊)的順序進行排列 測試以上方法 */ public class Test { public static void main(String[] args) { PokerFounction pf=new PokerFounction(); ArrayList pockers=pf.createPoker(); pf.shufflePoker(pockers); pf.showPoker(pockers); } }