In the Card class that we looked at on Wednesday http://www.cs.middlebury.edu/~dkauchak/classes/cs201/examples/InterfaceBasics/Card.java we implemented a compareTo method that ranked the cards by number. You've decided that you want the cards to be sorted the normal way they would be in a deck, that is, all the cards of the same suit are together and sorted by number. The suits are then arranged in alphabetical order. For example, given: [10 of clubs, Ace of diamonds, 8 of clubs, 9 of clubs, King of spades, 2 of hearts, 3 of diamonds, Jack of diamonds, 4 of spades, 6 of spades] they would be sorted as: [8 of clubs, 9 of clubs, 10 of clubs, Ace of diamonds, 3 of diamonds, Jack of diamonds, 2 of hearts, 4 of spades, 6 of spades, King of spades] (note Ace is still low). 1. Rewrite the compareTo method of the Card class so that it order them this way. Some advice: - There are two cases you have to consider, if the cards have the same suit or do not. - If they have the same suit, then you can use similar code to what we had already to rank them by number. - If they're different, then we want to rank them alphabetically by suit. One easy way to do this is to leverage the compareTo method of the String class, which also implements the Comparable interface. For example, String s = "banana"; String s2 = "apple"; System.out.println(s.compareTo(s2)); would print out 1, since s comes *after* s2 alphabetically. ----- Extra Challenge ------ Optional: If you want an extra challenge, also change the compareTo method so that Aces are sorted at the top of the suit instead of at the bottom.