public class Rank implements Comparable<Rank> {
	private int rank;
	private String stringRank;
	
	public Rank(int rank) {
		this.rank = rank;
		this.stringRank = convertToString(rank);
	}
	
	public Rank(String s) {
		this.rank = convertToInt(s);
		this.stringRank = s;
	}
	
	public int getIntRank() { return rank; }
	public String getStringRank() { return stringRank; }
	
	public String convertToString(int rank) {
		if (rank == 14) {
			return "Ace";
		} else if (rank == 13) {
			return "King";
		} else if (rank == 12) {
			return "Queen";
		} else if (rank == 11) {
			return "Jack";
		} else if (rank == 10) {
			return "Ten";
		} else {
			return "" + rank;
		}
	}
	
	public int convertToInt(String s) {
		if (s.equals("Ace")) {
			return 14;
		} else if (s.equals("King")) {
			return 13;
		} else if (s.equals("Queen")) {
			return 12;
		} else if (s.equals("Jack")) {
			return 11;
		} else if (s.equals("Ten")) {
			return 10;
		} else {
			return new Integer(s);
		}
	}
	
	public String toString() {
		return stringRank;
	}
	
	public boolean equals(Rank other) {
		return getIntRank() - other.getIntRank() == 0;
	}

	public int compareTo(Rank other) {
		return getIntRank() - other.getIntRank();
	}
}