-1

こんにちは、カードのデッキを印刷するコードを書きました

2C 2D 2H 2S 3C 3D 3H 3S 4C...

これが私が望む方法です: 2C 3C 4C 5C 6C...

ここに私のコードの一部があります:

public DeckOfCards()
{
  for (PlayingCard.CardRank rank : PlayingCard.CardRank.values())   
    for (PlayingCard.CardSuit suit : PlayingCard.CardSuit.values())           
    {
       System.out.printf(" %c%c ", rank.getSymbol(),suit.getSymbol());
    }
}

for ループを使用することを計画していましたが、どこからアイデアを開始すればよいかわかりません。

4

3 に答える 3

3

2 つのループを切り替えて、探している効果を得ることができます。

for (PlayingCard.CardSuit suit : PlayingCard.CardSuit.values())
    for (PlayingCard.CardRank rank : PlayingCard.CardRank.values())

他のすべてはよさそうだ。

于 2012-05-17T02:28:16.610 に答える
0

ネストされた for ループの順序を入れ替えます。つまり、次のように変更します。

for (PlayingCard.CardSuit suit : PlayingCard.CardSuit.values())
      for (PlayingCard.CardRank rank : PlayingCard.CardRank.values())   

内側のループは、外側のループを介して毎回 1 回実行されることに注意してください。:)

于 2012-05-17T02:29:19.663 に答える
0

それは次のように単純かもしれないように私には思えます:

for (PlayingCard.CardSuit suit : PlayingCard.CardSuit.values())
{  
    for (PlayingCard.CardRank rank : PlayingCard.CardRank.values())   

    {
       System.out.printf(" %c%c ", rank.getSymbol(),suit.getSymbol());
    }
}

.. ネストされた 2 つの for ループを交換します。

于 2012-05-17T02:30:30.033 に答える