本文实例讲述了Java模拟扑克牌洗牌实现生成52张扑克的方法。分享给大家供大家参考,具体如下:
要求:
生成52张扑克,模拟扑克牌洗牌,并输出。
实现代码:
package com.NCU.ZHANGhuirong;import java.util.ArrayList;import java.util.Collections;public class Card { public String poker(int num) { String str = ""; String[] face = { "♥", "♠", "♣", "♦" }; String[] number = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" }; str += face[num % 4] + number[num % 13]; return str; } public void shuffle(@SuppressWarnings("rawtypes") ArrayList list) { } @SuppressWarnings("unchecked") public static void main(String[] args) { @SuppressWarnings("rawtypes") ArrayList list = new ArrayList(); Card card = new Card(); for (int i = 0; i < 52; i++) { list.add(card.poker(i)); } for (int i = 0; i < list.size(); i++) { System.out.printf("%s/t", list.get(i)); if ((i + 1) % 13 == 0) { System.out.println(" "); } } System.out.println(); Collections.shuffle(list); System.out.println("洗牌后:"); for (int i = 0; i < list.size(); i++) { System.out.printf("%s/t", list.get(i)); if ((i + 1) % 13 == 0) { System.out.println(" "); } } }}
输出:
♥A ♠2 ♣3 ♦4 ♥5 ♠6 ♣7 ♦8 ♥9 ♠10 ♣J ♦Q ♥K ♠A ♣2 ♦3 ♥4 ♠5 ♣6 ♦7 ♥8 ♠9 ♣10 ♦J ♥Q ♠K ♣A ♦2 ♥3 ♠4 ♣5 ♦6 ♥7 ♠8 ♣9 ♦10 ♥J ♠Q ♣K ♦A ♥2 ♠3 ♣4 ♦5 ♥6 ♠7 ♣8 ♦9 ♥10 ♠J ♣Q ♦K 洗牌后:♥3 ♥9 ♦6 ♥J ♦K ♥4 ♦8 ♥K ♦Q ♦5 ♣7 ♠J ♠A ♦10 ♣A ♥8 ♠9 ♥Q ♦4 ♠6 ♠8 ♥10 ♣2 ♣10 ♦7 ♠10 ♥A ♣J ♠K ♠5 ♥2 ♣8 ♦J ♠Q ♦3 ♦9 ♣Q ♣K ♣3 ♥5 ♣6 ♣5 ♦2 ♦A ♥7 ♠4 ♥6 ♠7 ♣4 ♠3 ♠2 ♣9
希望本文所述对大家java程序设计有所帮助。
新闻热点
疑难解答
图片精选