編寫一個撲克類(每張撲克有花色和數值,例如紅心A,草花10),將52張撲克牌放到集合中(自己去選擇集合類) 編寫3個方法 方法1.將集合中的所有撲克重新洗牌,並將撲克輸出(打印出來即可) 方法2
阿新 • • 發佈:2018-11-11
/**
* 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);
}
}