【发布时间】:2018-07-15 13:37:43
【问题描述】:
大家,我完成了我实验室的代码,但我意识到它必须有 3 个名为:Card、Deck 和 DeckOfCards 的类,它还最好需要有数组列表,问题是我真的不能了解多个类以及如何从另一个类中调用事物。如果有人帮忙就好了。现在我只有一个名为 DeckOfCards 的类,它创建 3 个数组,然后将它们与循环组合,将它们打乱并打印组合数组
public class DeckOfCards{
public static void main(String[] args) {
String[] s = {
"Clubs", "Diamonds", "Hearts", "Spades"
};
String[] face = {
"1" ,"2", "3", "4", "5", "6", "7", "8", "9", "10",
"Jack", "Queen", "King", "Ace"
};
String[] ranks = {"1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "10", "10","10", "1 or 11"
};
int n = s.length * face.length;
String[] deck = new String[n];
for (int i = 0; i < face.length; i++) {
for (int j = 0; j < s.length; j++) {
deck[s.length*i+j] = s[j] + ", " + face[i] + ", " + ranks[i];
}
}
for (int i = 0; i < n; i++) {
int r = i + (int) (Math.random() * (n-i));
String temp = deck[r];
deck[r] = deck[i];
deck[i] = temp;
}
for (int i = 0; i < n; i++) {
System.out.println("["+deck[i]+"]");
}
}
}
【问题讨论】:
-
Deck of Cards 类需要打印出最终的洗牌数组
-
我确定有。
-
首先确定每种对象的属性。您现有的代码将帮助您。例如,卡片有花色和等级。它们也可能具有面值(但您的代码似乎将排名与面值混淆)。一副牌可能包含多张牌。我不知道是什么让
DeckOfCards与Deck不同,但也许它只是用作程序的主类。 -
我真的无法理解 [...] 如何从另一个类调用事物 - 但您已经在这样做了。你觉得
System.out.println()或Math.random()或face.length会做什么?
标签: java arrays class arraylist