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 }
运行效果: