package cd.itcast.runble; import java.util.LinkedList;
import java.util.Random; /**
* LinkedList存储一副扑克牌,实现洗牌功能。
* @author 甘兴瑞
* 2016/11/8
*/
class Poker{
String huase;
String num; public Poker(String huase, String num) {
this.huase = huase;
this.num = num;
} @Override
public String toString() {
return "{"+huase +num+"}";
} } public class Demo2 {
public static void main(String[] args) {
LinkedList list2=createPoker();
xiPoker(list2);//既可以返回linkedList,也可以不反回,使用void,因为共享对象。
showPoker(list2);
}
public static LinkedList createPoker() {
//存扑克的
LinkedList list=new LinkedList();
String[] arr1={"红桃","黑桃","方片","梅花"};
String[] arr2={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
Poker poker=new Poker(arr1[i],arr2[j]);
list.add(poker);
}
}
return list;
}
//显示扑克牌
public static void showPoker(LinkedList pokers) {
for(int i=0;i<pokers.size();i++){
System.out.print(pokers.get(i));
if(i%13==12){
System.out.println();
}
}
}
//洗牌的功能
public static void xiPoker(LinkedList Pokers) {
//创建随机数对象
Random ran = new Random();
for(int i=0;i<100;i++){
int index1 = ran.nextInt(Pokers.size());
int index2 = ran.nextInt(Pokers.size());
Poker poker1 = (Poker)Pokers.get(index1);
Poker poker2 = (Poker)Pokers.get(index2);
Pokers.set(index1, poker2);
Pokers.set(index2, poker1);
}
}
}