您的位置:首页 > 编程语言 > Java开发

Java模拟扑克牌洗牌实现生成52张扑克的方法示例

2018-01-06 12:44 1141 查看

本文实例讲述了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算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 扑克牌 洗牌