package net.bunnie.uva.cs101; import java.io.PrintStream; public class Card { private int face; private int suit; public Card(int i) { suit = (i - 1) / 13 + 1; face = (i - 1) % 13 + 1; } public String getFace() { if(face < 1) { System.out.println((new StringBuilder()).append("Unexpected face: ").append(face).append(suit).toString()); return null; } if(face == 1) { return "A"; } if(face <= 10) { return (new StringBuilder()).append(face).append("").toString(); } if(face == 11) { return "J"; } if(face == 12) { return "Q"; } if(face == 13) { return "K"; } else { System.out.println((new StringBuilder()).append("Unexpected face: ").append(face).append(suit).toString()); return null; } } public String getSuit() { if(suit == 1) { return "C"; } if(suit == 2) { return "D"; } if(suit == 3) { return "H"; } if(suit == 4) { return "S"; } else { System.out.println((new StringBuilder()).append("Unexpected suit: ").append(face).append(suit).toString()); return null; } } public int getValue() { return face; } public int getBlackjackValue() { if(face == 1) { return 11; } if(face >= 11) { return 10; } else { return face; } } public boolean equals(Object obj) { if(obj instanceof Card) { Card card = (Card)obj; return getFace().equals(card.getFace()) && getSuit().equals(card.getSuit()); } else { return false; } } public String toString() { return (new StringBuilder()).append(getFace()).append(getSuit()).toString(); } }