java - 如何显示我的原始纸牌 Java
问题描述
洗牌后的牌组将打印,但原始牌组不会打印,当我使用下面的代码时,我得到: [Ljava.lang.String;@677327b6 并且它重复了 52 次。
public class Deck {
public static void main(String[] args) {
String[] SUITS = {
"Clubs", "Diamonds", "Hearts", "Spades"
};
String[] RANKS = {
"2", "3", "4", "5", "6", "7", "8", "9", "10",
"Jack", "Queen", "King", "Ace"
};
// initialising deck
int n = SUITS.length * RANKS.length;
String[] deck = new String[n];
for (int i = 0; i < RANKS.length; i++) {
for (int j = 0; j < SUITS.length; j++) {
deck[SUITS.length * i + j] = RANKS[i] + " of " + SUITS[j];
System.out.println("Original Deck Of Cards");
System.out.println(deck);
}
}
// shuffling the cards in the deck
for (int i = 0; i < n; i++) {
int r = i + (int) (Math**strong text**.random() * (n - i));
String temp = deck[r];
deck[r] = deck[i];
deck[i] = temp;
}
// printing shuffled deck
System.out.println("Randomly Shuffled Deck Of Cards");
for (int i = 0; i < n; i++) {
System.out.println(deck[i]);
}
}
}
解决方案
改变这个
for (int i = 0; i < RANKS.length; i++) {
for (int j = 0; j < SUITS.length; j++) {
deck[SUITS.length * i + j] = RANKS[i] + " of " + SUITS[j];
System.out.println("Original Deck Of Cards");
System.out.println(deck);
}
至
System.out.println("Original Deck Of Cards");
for (int i = 0; i < RANKS.length; i++) {
for (int j = 0; j < SUITS.length; j++) {
deck[SUITS.length * i + j] = RANKS[i] + " of " + SUITS[j];
System.out.println(deck[SUITS.length * i + j]);
}
}
希望能帮助到你
推荐阅读
- php - Woocommerce 购物车商品折扣在结账时重置
- android - 谁用 Expo 编译应用程序
- razor-pages - 修复使用 sendgrid 发送验证电子邮件时剃刀页面中的错误 OperationCanceledException
- angular - 根据选中的选择框动态添加选择框和文本框的删除和获取数据
- msbuild - 错误 CS0012:“对象”类型是在未引用的程序集中定义的。您必须添加对程序集 'netstandard, Version=2.0.0.0 的引用
- ruby-on-rails - 将数组数组拆分,将 [0] 拆分为一个,将 [1] 拆分为另一个
- ionic-framework - 无法在 Ionic 的 For 循环中正确设置变量
- kubernetes - Kubernetes/Helm:部署多个 pod,每个 pod 都有其适当的参数
- php - 为什么图像路径没有保存在数据库中?
- python - 从函数返回表达式总和的pythonic方式是什么?