2016-05-03 7 views
2

私は基本的なポーカーゲームをプレイするプログラムに取り組んでいますが、それは本当に重要ではありません。 私はスーツとランクを含む52枚のカードの配列を持っています。私は値(スーツとランク)を13の4行に印刷したいと思っています。 これは簡単な質問かもしれませんが、私は一日中苦労しています。だから私は本当に助けに感謝します。Java PokerGame cards

現在、私はすべてのカードに新しい行を印刷していますが、これは私が望む通りではないと言いました。 heres私の背景情報のコードですか?あなたがそれを必要とするならば。

for (int i = 0; i < deckArray.length; i++) 
     { 
      deckArray[i] = i; 
      String suit = suits[deckArray[i]/13]; 
      String rank = ranks[deckArray[i] % 13]; 
      System.out.println(rank + suit); 
     } 
     System.out.println("\n"); 
+0

は、あなたの配列をinitlialisedしていますか? – BevynQ

+0

あなたの 'suit'と' rank'変数は 'i'にのみ依存していますので、' deckArray'を 'String []'に変更し、それを(印刷する代わりに)生成した値で設定します。目的のフォーマットで出力することができます。 –

+0

[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)を投稿して、必要な動作を確認してください。 – MikeCAT

答えて

2
for (int i = 0; i < 52; i++) { 
     String suit = suits[i/13]; 
     String rank = ranks[i % 13]; 
     System.out.print(rank + suit + " "); 
     if ((i + 1) % 13 == 0) { 
      System.out.println(); 
     } 
    } 

出力:

1Spade 2Spade 3Spade 4Spade 5Spade 6Spade 7Spade 8Spade 9Spade 10Spade 11Spade 12Spade 13Spade 
1Heart 2Heart 3Heart 4Heart 5Heart 6Heart 7Heart 8Heart 9Heart 10Heart 11Heart 12Heart 13Heart 
1Club 2Club 3Club 4Club 5Club 6Club 7Club 8Club 9Club 10Club 11Club 12Club 13Club 
1Diamond 2Diamond 3Diamond 4Diamond 5Diamond 6Diamond 7Diamond 8Diamond 9Diamond 10Diamond 11Diamond 12Diamond 13Diamond 
0
public static void main (String[] args) throws java.lang.Exception 
    { 
     String[] suits = new String[] {"Spade", "Heart", "Club", "Diamond"}; 

     String[] ranks = new String[] {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"}; 

     for (int i = 0; i < 52; i++) 
     { 
      String suit = suits[i/13]; 
      String rank = ranks[i % 13]; 
      System.out.println(rank + " " + suit); 
     } 
     System.out.println("\n"); 
    }