Java模擬撲克牌洗牌實現(xiàn)生成52張撲克的方法示例
本文實例講述了Java模擬撲克牌洗牌實現(xiàn)生成52張撲克的方法。分享給大家供大家參考,具體如下:
要求:
生成52張撲克,模擬撲克牌洗牌,并輸出。
實現(xiàn)代碼:
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
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Spring init-method與destroy-method屬性的用法解析
這篇文章主要介紹了Spring init-method與destroy-method屬性的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08Springboot安全框架整合SpringSecurity實現(xiàn)方式
這篇文章主要介紹了Spring全家桶中Springboot安全框架整合SpringSecurity的實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09Java BeanUtils.copyProperties的詳解
這篇文章主要介紹了Java BeanUtils.copyProperties的詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08在SpringBoot中如何利用Redis實現(xiàn)互斥鎖
當我們利用Redis存儲熱點數(shù)據(jù)時,突然就過期失效或者被刪除了,導(dǎo)致大量請求同時訪問數(shù)據(jù)庫,增加了數(shù)據(jù)庫的負載,為減輕數(shù)據(jù)庫的負載我們利用互斥鎖,本文重點介紹在SpringBoot中如何利用Redis實現(xiàn)互斥鎖,感興趣的朋友一起看看吧2023-09-09springboot整合netty框架實現(xiàn)站內(nèi)信
Netty 是一個基于NIO的客戶、服務(wù)器端編程框架,使用Netty 可以確保你快速和簡單的開發(fā)出一個網(wǎng)絡(luò)應(yīng)用,這篇文章主要介紹了springboot整合netty框架的方式小結(jié),需要的朋友可以參考下2022-12-12Java 確保某個Bean類被最后執(zhí)行的幾種實現(xiàn)方式
這篇文章主要介紹了Java 確保某個BeanDefinitionRegistryPostProcessor Bean被最后執(zhí)行的幾種實現(xiàn)方式,幫助大家更好的理解和學(xué)習使用Java,感興趣的朋友可以了解下2021-03-03springboot中項目啟動時實現(xiàn)初始化方法加載參數(shù)
這篇文章主要介紹了springboot中項目啟動時實現(xiàn)初始化方法加載參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12