如何对我的“套牌”阵列执行perfectShuffle操作?
我不知道如何将“deck”数组导入到我的perfectShuffle方法/类中(idk wtf是区别的)
这不会编译,因为我的perfectShuffle无法找到''deck''
我很确定你会看看我的代码,就像'你甚至不知道你在做什么?'好吧,不,我不知道我在做什么,但我已经超级远,因为我不知道我在做什么,通过在一副牌中创建每张牌的牌组阵列。
我正在努力寻找来自class / method / object / instance Watever的流程以及它们如何交互。
非常感谢任何帮助或指向资源。
public String[] Deck(){
String[] deck = new String[52];
//Populate Deck 2-10
for (int i=0; i<52; i++){
if (i<9){
for (int j=2; j<=10; j++){
deck[i]=(j+" of Clubs");
i++;
}
}
if (12<i&&i<22){
for (int j=2; j<=10; j++){
deck[i]=(j+" of Diamonds");
i++;
}
}
if (25<i&&i<35){
for (int j=2; j<=10; j++){
deck[i]=(j+" of Hearts");
i++;
}
}
if (38<i&&i<48){
for (int j=2; j<=10; j++){
deck[i]=(j+" of Spades");
i++;
}
}
else {
deck[9]=("Jack of Clubs");
deck[10]=("Queen of Clubs");
deck[11]=("King of Clubs");
deck[12]=("Ace of Clubs");
deck[22]=("Jack of Diamonds");
deck[23]=("Queen of Diamonds");
deck[24]=("King of Diamonds");
deck[25]=("Ace of Diamonds");
deck[35]=("Jack of Hearts");
deck[36]=("Queen of Hearts");
deck[37]=("King of Hearts");
deck[38]=("Ace of Hearts");
deck[48]=("Jack of Spades");
deck[49]=("Queen of Spades");
deck[50]=("King of Spades");
deck[51]=("Ace of Spades");
}
}
}
private void perfectShuffle(){
Deck();
for (int i=0; i<27; i++){
deck[i]=deck[i+26];
}
for (int i=0; i<52; i++){
System.out.println(deck[i]);
}
}
答案 0 :(得分:4)
perfectShuffle
无法访问Deck()
内锁定的局部变量。您需要获取Deck
返回的值,并充分利用它:
private void perfectShuffle(){
String[] myDeck = Deck();
for (int i=0; i<27; i++){
myDeck[i]=myDeck[i+26];
}
for (int i=0; i<52; i++){
System.out.println(myDeck[i]);
}
}
同样,您需要让Deck()
实际返回该字符串数组,因为您已声明该方法返回String[]
:
public String[] Deck(){
String[] deck = new String[52];
//Populate Deck 2-10
for (int i=0; i<52; i++){
// blah blah blah
}
return deck;
}