前言都懒的写了,都凌晨1点半了,直接把代码放上去
代码:
1 package com.day16.list;
2
3 import java.util.LinkedList;
4 import java.util.Random;
5
6 /**
7 * 类说明 :
8 *
9 * @author 作者 : chenyanlong
10 * @version 创建时间:2017年10月29日
11 */
12
13 // 扑克类
14 class Poker {
15
16 String color;// 花色
17 String num;// 点数
18
19 // 构造方法
20 public Poker(String color, String num) {
21 super();
22 this.color = color;
23 this.num = num;
24 }
25
26 // 重写toString()
27 @Override
28 public String toString() {
29 return color+num;
30 }
31
32 }
33
34 public class Demo {
35
36 public static void main(String[] args) {
37 //实例化集合对象
38 LinkedList pockers=createPoker();
39 flushPockes(pockers);//洗牌
40 showPoker(pockers);//显示多少张牌
41
42 }
43
44 //生成扑克牌的方法
45 public static LinkedList createPoker(){
46 //该集合用于存储扑克对象
47 LinkedList list=new LinkedList();
48 //定义数组存储所有的花色和点数
49 String[] colors={"黑色","红桃","梅花","方块"};
50 String[] nums={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
51
52 //添加集合中扑克牌
53 for(int i=0;i<nums.length;i++){
54 for(int j=0;j<colors.length;j++){
55 list.add(new Poker(colors[j],nums[i]));
56 }
57 }
58 return list;
59 }
60
61 //洗牌的功能
62 public static void flushPockes(LinkedList pockers){
63 //创建随机对象
64 Random random=new Random();
65 for(int i=0;i<100;i++){
66 //随机产生两个索引值
67 int a=random.nextInt(pockers.size());
68 int b=random.nextInt(pockers.size());
69 //根据索引值取出两张牌
70 Poker a1= (Poker) pockers.get(a);
71 Poker b1= (Poker) pockers.get(b);
72 pockers.set(a, b1);
73 pockers.set(b, a1);
74 }
75 }
76
77 //显示扑克牌
78 public static void showPoker(LinkedList pockers){
79 for(int i=0;i<pockers.size();i++){
80 System.out.print(" "+pockers.get(i));
81 //换行
82 if(i%10==9){
83 System.out.println();
84 }
85 }
86 System.out.println();
87 System.out.println("牌数:"+pockers.size());//显示多少张牌
88 }
89
90 }
运行效果: