Guest User

Untitled

a guest
May 21st, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. public class Card implements Comparable<Object> {
  2. private Suit suit;
  3. private Rank rank;
  4.  
  5. public Card(Suit suit, Rank rank) {
  6. this.suit = suit;
  7. this.rank = rank;
  8. }
  9.  
  10. public Suit getSuit() {
  11. return suit;
  12. }
  13.  
  14. public void setSuit(Suit suit) {
  15. this.suit = suit;
  16. }
  17.  
  18. public Rank getRank() {
  19. return rank;
  20. }
  21.  
  22. public void setRank(Rank rank) {
  23. this.rank = rank;
  24. }
  25.  
  26. @Override
  27. public String toString() {
  28. return getSuit() + " " + getRank();
  29. }
  30.  
  31. @Override
  32. public int compareTo(Object otherObject) {
  33. Card other = (Card) otherObject;
  34. if (rank.TWO < other.rank.THREE) {
  35. return -1;
  36. }
  37. if (rank.TWO > other.rank.THREE) {
  38. return 1;
  39. }
  40. return 0;
  41. }
  42.  
  43. }
  44.  
  45.  
  46.  
  47.  
  48. public class Hand {
  49. private ArrayList<Card> cards = new ArrayList<>();
  50.  
  51. public boolean add(Card c) {
  52. if (linearSearchList(cards, c) == false) { // if the card do NOT exist in the arraylist
  53. cards.add(c);
  54. return true;
  55. }
  56. return false;
  57. }
  58.  
  59. public boolean remove(Card c) {
  60. if (linearSearchList(cards, c) == true) { // if the card already in the arraylist
  61. cards.remove(c);
  62. return true;
  63. }
  64. return false;
  65. }
  66.  
  67. public ArrayList<Card> getCards() {
  68. return new ArrayList<>(cards);
  69. }
  70.  
  71. public static boolean linearSearchList(ArrayList<Card> cardsList, Card c) {
  72. boolean found = false;
  73. int i = 0;
  74. while (!found && i < cardsList.size()) {
  75. if (cardsList.get(i).equals(c)) {
  76. found = true;
  77. } else {
  78. i++;
  79. }
  80. }
  81. if (found) {
  82. return true;
  83. } else {
  84. return false;
  85. }
  86. }
  87.  
  88. @Override
  89. public String toString() {
  90. Collections.sort(cards);
  91.  
  92. return cards.toString();
  93. }
  94.  
  95. }
  96.  
  97.  
  98.  
  99. public enum Suit {
  100. DIAMOND, CLUB, HEART, SPADE;
  101. }
  102.  
  103.  
  104. public enum Rank {
  105. TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE;
  106.  
  107. }
  108.  
  109.  
  110.  
  111. public class MainApp {
  112.  
  113. public static void main(String[] args) {
  114. Card c1 = new Card(Suit.DIAMOND, Rank.QUEEN);
  115. Card c2 = new Card(Suit.HEART, Rank.EIGHT);
  116. Card c3 = new Card(Suit.DIAMOND, Rank.KING);
  117. Card c4 = new Card(Suit.CLUB, Rank.TWO);
  118. Card c5 = new Card(Suit.SPADE, Rank.ACE);
  119.  
  120. Hand hand1 = new Hand();
  121. hand1.add(c1);
  122. hand1.add(c2);
  123. hand1.add(c3);
  124. hand1.add(c4);
  125. hand1.add(c5);
  126. Collections.sort(hand1.getCards());
  127.  
  128. for (Card card : hand1.getCards()) {
  129. System.out.println(card);
  130. }
  131.  
  132. }
  133.  
  134. }
  135.  
  136. public class Card implements Comparable<Card> {
  137.  
  138. @Override
  139. public int compareTo(Card otherCard) {
  140. if (this.rank == otherCard.rank) {
  141. return this.suite.compareTo(otherCard.suite);
  142. }
  143. return this.rank.compareTo(otherCard.rank);
  144. }
Add Comment
Please, Sign In to add comment