Advertisement
tandaleyo

Royal Flush

May 14th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.52 KB | None | 0 0
  1. package ExamRetake08May2016;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Scanner;
  6.  
  7. public class P03 {
  8. public static void main(String[] args) {
  9. Scanner sc = new Scanner(System.in);
  10. Integer rows = Integer.parseInt(sc.nextLine());
  11. String input = sc.nextLine();
  12. Integer totalFlush = 0;
  13. List<Character> clubs = new ArrayList<>();
  14. List<Character> diamonds = new ArrayList<>();
  15. List<Character> hearts = new ArrayList<>();
  16. List<Character> spades = new ArrayList<>();
  17.  
  18.  
  19. for (int i = 1; i < rows; i++) {
  20. input += sc.nextLine();
  21. }
  22. String cards = input.replace("0", "");
  23.  
  24. for (int i = 0; i < cards.length(); i += 2) {
  25.  
  26. char currSuite = cards.charAt(i + 1);
  27. char currCard = cards.charAt(i);
  28.  
  29. if (currCard == '1' || currCard == 'J' || currCard == 'Q' || currCard == 'K' || currCard == 'A') {
  30.  
  31. if (currSuite == 'c') {
  32. if (checkHand(currCard, clubs)) {
  33. clubs.add(currCard);
  34. if (clubs.size() == 5) {
  35. System.out.println("Royal Flush Found - Clubs");
  36. totalFlush++;
  37. clubs.clear();
  38. }
  39.  
  40. } else {
  41.  
  42. if (clubs.size() == 1 && currCard == '1') {
  43. clubs.clear();
  44. clubs.add(currCard);
  45. } else {
  46. clubs.clear();
  47. }
  48. }
  49.  
  50. } else if (currSuite == 'd') {
  51. if (checkHand(currCard, diamonds)) {
  52. diamonds.add(currCard);
  53. if (diamonds.size() == 5) {
  54. System.out.println("Royal Flush Found - Diamonds");
  55. totalFlush++;
  56. diamonds.clear();
  57. }
  58.  
  59. } else {
  60. if (diamonds.size() == 1 && currCard == '1') {
  61. diamonds.clear();
  62. diamonds.add(currCard);
  63. } else {
  64. diamonds.clear();
  65. }
  66. }
  67.  
  68.  
  69. } else if (currSuite == 'h') {
  70. if (checkHand(currCard, hearts)) {
  71. hearts.add(currCard);
  72. if (hearts.size() == 5) {
  73. System.out.println("Royal Flush Found - Hearts");
  74. totalFlush++;
  75. hearts.clear();
  76. }
  77.  
  78. } else {
  79. if (hearts.size() == 1 && currCard == '1') {
  80. hearts.clear();
  81. hearts.add(currCard);
  82. } else {
  83. hearts.clear();
  84. }
  85. }
  86. } else if (currSuite == 's') {
  87. if (checkHand(currCard, spades)) {
  88. spades.add(currCard);
  89. if (spades.size() == 5) {
  90. System.out.println("Royal Flush Found - Spades");
  91. totalFlush++;
  92. spades.clear();
  93. }
  94.  
  95. } else {
  96. if (spades.size() == 1 && currCard == '1') {
  97. spades.clear();
  98. spades.add(currCard);
  99. } else {
  100. spades.clear();
  101. }
  102. }
  103. }
  104. } else {
  105. continue;
  106. }
  107.  
  108.  
  109. }
  110. System.out.println("Royal's Royal Flushes - " + totalFlush + ".");
  111. }
  112.  
  113. public static boolean checkHand(char currCard, List<Character> hand) {
  114.  
  115. if (currCard == '1' && hand.size() == 0) {
  116. return true;
  117. } else if (currCard == 'J' && hand.size() == 1) {
  118. return true;
  119. } else if (currCard == 'Q' && hand.size() == 2) {
  120. return true;
  121. } else if (currCard == 'K' && hand.size() == 3) {
  122. return true;
  123. } else if (currCard == 'A' && hand.size() == 4) {
  124. return true;
  125. } else {
  126. return false;
  127. }
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement