標籤:索引 print lib i++ length lin method 產生 epo
用LinkdeList實現52張撲克牌(不含大小王)的洗牌功能。提示:花色 ,和數字分別用數組儲存。
import java.util.LinkedList;import java.util.Random;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+"}"; }}public class HomeWork3 { /** * @param args * 用LinkdeList實現52張撲克牌(不含大小王)的洗牌功能。 * 提示:花色 ,和數字分別用數組儲存。 */ public static void main(String[] args) { // TODO Auto-generated method stub // 1.建立撲克牌 LinkedList list = creatPoker(); //2.洗牌 shufflePoker(list); //3.顯示 showPoker(list); //4.發牌的功能。 } //洗牌的功能 public static void shufflePoker(LinkedList poker){ //1.產生一個隨機數 Random rangdom = new Random(); for(int i = 0 ;i<100;i++){ //隨機擷取兩個索引值: int index1 = rangdom.nextInt(poker.size()); int index2 = rangdom.nextInt(poker.size()); Poker p1 = (Poker) poker.get(index1); Poker p2 = (Poker) poker.get(index2); //交換用set方法 poker.set(index1, p2); poker.set(index2, p1); } } public static void showPoker(LinkedList list){ for(int i = 0;i<list.size();i++){ System.out.print(list.get(i)); if( i % 13 == 12){ System.out.println(); } } } public static LinkedList creatPoker(){ //建立集合對象用來存放撲克牌 LinkedList list = new LinkedList(); //定義花色和數字 String[] colors = {"黑桃","紅桃","方塊","梅花"}; String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; for(int i = 0 ;i<nums.length ;i++){ for(int j = 0;j<colors.length;j++){ list.add(new Poker(colors[j], nums[i])); } } return list; }}
Java 用LinkdeList實現52張撲克牌