java - 如何在 Java 中将一副 52 张牌分成 4 手,每手 13 张?
问题描述
对于这个项目,我们不能使用任何集合类。我尝试使用循环创建 4 个数组,每个数组包含 13 张卡片,以便以后可以对它们进行排序并呈现给用户。我不知道如何用卡片组中的卡片填充 4 个数组
我的交易方法:
public void deal() {
for (int i = 0; i < 4; i++) {
Card[] hand = new Card[13];
for (int j = 0; j < 13; j++) {
hand[j] = deckOfCards[j];
j++;
}
}
}
解决方案
看来你犯了一个逻辑错误。让我们试一试。外循环运行 4 次。
for (int i = 0; i < 4; i++)
每次,都会创建一个新的 Card 类型的数组手。
Card[] hand = new Card[13];
接下来我们移动到 j 循环,对于从 0 到 3 的每个 i 值运行 13 次,
for (int j = 0; j < 13; j++)
现在里面的元素都存储在数组hand中。
//Logical error
hand[j] = deckOfCards[j];
现在每次在手牌数组中,只使用deckOfCards 的前13 个元素。您没有访问数组 deckOfCards 的 13-51 中的元素。为此,请尝试将这部分代码更改为此。
hand[j] = deckOfCards[j + i*13];
这使得deckOfCard 的所有元素都可以访问。
我希望我对你有所帮助。
推荐阅读
- github - 如何使 GitHub Actions 工作流页面公开可见
- symfony4 - api 平台中基于会话的身份验证
- flutter - Flutter:容器中的文本居中而不是左对齐
- python - 如何在凸包中获得均匀分布的点?
- python - Django 迁移外键 django.db.utils.OperationalError: (1005, "Can't create table 'asp052mysqlpy.#sql-6ac_56' (errno: 150)") 错误
- python - 在 python 类中启动属性
- c# - ComboBox SelectedItem 属性更新我的 Datagrid 行中的所有其他组合框
- c# - 未安装microsoft office Excel时,c#读取xls文件不起作用?
- anylogic - 如何在“准备”流程图中使用 Enter 和 Exit 块(执行错误“0 不支持构建资源行为流程图”)
- node.js - Mongodb - 填充项目限制并获取这些项目的总数