1

「デッキ」配列に対して perfectShuffle 操作を実行するにはどうすればよいですか?

「デッキ」配列を自分の perfectShuffle メソッド/クラスにインポートする方法がわかりません (idk wtf が違います)

私のパーフェクトシャッフルが「デッキ」を見つけることができないため、これはコンパイルされません

あなたが私のコードを見て、「自分が何をしているのかさえ知っていますか?」と思うに違いありません。いいえ、私は自分が何をしているのかわかりませんが、カードのデッキ内のすべてのカードのデッキ配列を作成することで、自分が何をしているのかわからないまま、非常に遠くまで行きました。

クラス/メソッド/オブジェクト/インスタンスからの流れと、それらがどのように相互作用するかを見つけるのに苦労しています。

リソースへのヘルプやポイントは大歓迎です。

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]);
    }
}
4

1 に答える 1

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()同様に、メソッドが a を返すように宣言したため、実際にその文字列配列を返すようにする必要があります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;
}
于 2012-10-30T04:06:19.953 に答える