import java.util.LinkedList;
import java.util.Random;
/*
*
* 要求使用LinkedList存储扑克牌,实现洗牌功能。
* */
class Poker{
String color;
String num;
public Poker(String color,String num){
this.color=color;
this.num=num;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "{"+color+num+"}";
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
Poker p=(Poker)obj;
return p.color.equals(this.color)&&p.num.equals(this.num);
}
}
public class Demo9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String color[]={"黑桃","红桃","梅花","方块"};
String num[]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
LinkedList list=new LinkedList();
for(int i=0;i<13;i++){
for(int j=0;j<4;j++){
list.add(new Poker(color[j],num[i]));
}
}
System.out.println("共生成"+list.size()+"张扑克牌");
System.out.println(list);
System.out.println("开始洗牌……");
LinkedList newlist=new LinkedList();
while(newlist.size()<52){
int x=(int)(Math.random()*13);//产生0-12随机数
int y=(int)(Math.random()*4);//产生0-3随机数
if(!newlist.contains(new Poker(color[y],num[x])))
newlist.add(new Poker(color[y],num[x]));
}
System.out.println("洗牌结束!");
System.out.println("共生成"+newlist.size()+"张扑克牌");
System.out.println(newlist);
}
}
Java程序:使用LinkedList存储扑克牌,实现洗牌功能
最新推荐文章于 2020-07-06 23:27:12 发布