java生成扑克牌----java基础学习总结

前言都懒的写了,都凌晨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 }

 

运行效果:

 

posted @ 2017-10-29 01:36  glacial_water  阅读(7331)  评论(0编辑  收藏  举报
Document