I have to make a class of a card, and another class of the deck. My deck class needs my card class. In my deck class, I have to build the deck in a separate method from main, which I did. Then I also have to print the deck in a separate method from main. Here is my problem: I tried using the typical toString method, which works fine in main. But I'm having trouble turning printing in it's own method. Can anyone tell me what I'm doing wrong in my print method? Any help is appreciated!
Card Class:
public class card
{
private int face;
private String suit;
public card()
{
face = 0;
String suit = " ";
}
public card(int face, String suit)
{
setFace(face);
setSuit(suit);
}
public void setFace(int f)
{
if(f >= 1 && f <= 10)
face = f;
else
face = 1;
}
public int getFace()
{
return face;
}
public void setSuit(String s)
{
if( s == "Hearts" && s == "Clubs" && s == "Diamonds" && s == "Ace")
suit = s;
else
suit = "Hearts";
}
public String getColor()
{
return suit;
}
}
Deck Class:
import java.util.*;
public class DeckOfCards
{
public static void main(String[] arg)
{
card myCard = new card();
card deck[] = new card[52];
//System.out.println(Arrays.toString(deck));
buildDeck(deck);
System.out.print(myCard);
}
// method builds deck
public static void buildDeck(card[] cardList)
{
cardList[0] = new card(1, "Hearts");
cardList[1] = new card(2, "Hearts");
cardList[2] = new card(3, "Hearts");
cardList[3] = new card(4, "Hearts");
cardList[4] = new card(5, "Hearts");
cardList[5] = new card(6, "Hearts");
cardList[6] = new card(7, "Hearts");
cardList[7] = new card(8, "Hearts");
cardList[8] = new card(9, "Hearts");
cardList[9] = new card(10, "Hearts");
cardList[10] = new card(11, "Hearts");
cardList[11] = new card(12, "Hearts");
cardList[12] = new card(13, "Hearts");
cardList[13] = new card(1, "Clubs");
cardList[14] = new card(2, "Clubs");
cardList[15] = new card(3, "Clubs");
cardList[16] = new card(4, "Clubs");
cardList[17] = new card(5, "Clubs");
cardList[18] = new card(6, "Clubs");
cardList[19] = new card(7, "Clubs");
cardList[20] = new card(8, "Clubs");
cardList[21] = new card(9, "Clubs");
cardList[22] = new card(10, "Clubs");
cardList[23] = new card(11, "Clubs");
cardList[24] = new card(12, "Clubs");
cardList[25] = new card(13, "Clubs");
cardList[26] = new card(1, "Diamonds");
cardList[27] = new card(2, "Diamonds");
cardList[28] = new card(3, "Diamonds");
cardList[29] = new card(4, "Diamonds");
cardList[30] = new card(5, "Diamonds");
cardList[31] = new card(6, "Diamonds");
cardList[32] = new card(7, "Diamonds");
cardList[33] = new card(8, "Diamonds");
cardList[34] = new card(9, "Diamonds");
cardList[35] = new card(10, "Diamonds");
cardList[36] = new card(11, "Diamonds");
cardList[37] = new card(12, "Diamonds");
cardList[38] = new card(13, "Diamonds");
cardList[39] = new card(1, "Diamonds");
cardList[40] = new card(2, "Diamonds");
cardList[41] = new card(3, "Diamonds");
cardList[42] = new card(4, "Diamonds");
cardList[43] = new card(5, "Diamonds");
cardList[44] = new card(6, "Diamonds");
cardList[45] = new card(7, "Diamonds");
cardList[46] = new card(8, "Diamonds");
cardList[47] = new card(9, "Diamonds");
cardList[48] = new card(10, "Diamonds");
cardList[49] = new card(11, "Diamonds");
cardList[50] = new card(12, "Diamonds");
cardList[51] = new card(13, "Diamonds");
}
// method to print deck
public String toString()
{
System.out.println(Arrays.toString(deck));
}
}