查看: 75|回复: 0

Java编程练习:洗牌

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-8-4
发表于 2025-8-4 12:25:00 | 显示全部楼层 |阅读模式

今天开篇做了一个洗牌练习。既然要洗牌,首先要做牌。牌主要可以拆分成:

  1. 大小王各一张
String[] kings = {"BigKing", "SmallKing"};
  1. 四色花色各13张
String[] colors = {"♥", "♠", "♣", "♦"};
String[] numbers = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};

因为求解的内容长度是已知的,所以用for循环来做循环嵌套语句,将牌组合起来,形成54张牌。然后就开始洗牌了,要想洗牌结果是随机的,我们需要随机抽取两张牌来进行交换。

  1. 随机抽取两张牌
int j = (int) (Math.random() * cards.length);
int k = (int) (Math.random() * cards.length);
  1. 将其两两交换
String temp = cards[k];
cards[k] = cards[j];
cards[j] = temp;

经过上述处理,就大功告成了!结果如下:



来源:https://www.cnblogs.com/Saintwaters/p/19021284
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部