Reputation: 57
I'm working on a program that plays a basic poker game, but that isn't really important. I have an array of 52 cards, containing suits and rank. I'd like to print the values(suit and rank) in 4 rows of 13. This may be a simple question but i've been struggling with it all day. So I would really appreciate the help.
Currently i just have it printing a new line for every card, but like i said this isn't what I want. heres my code for background info? if you need it.
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");
Upvotes: 2
Views: 78
Reputation: 300
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();
}
}
Output:
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
Upvotes: 2
Reputation: 1037
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");
}
Upvotes: 0