Advertisement
Guest User

Untitled

a guest
Nov 17th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Random; //Import this to generate pseudo-random code.
  3.  
  4. public class Question2 {
  5.  
  6. public static void main(String[] args) {
  7.  
  8. String[] cardNumbers = { "Ace", "Two", "Three", "Four", "Five", "Six", "Seven", " Eight", "Nine", "Ten", "Jack",
  9. "Queen ", "King" };
  10.  
  11. String[] suits = { "Spades", "Clubs", "Hearts", "Diamonds" };
  12.  
  13. String[][] deck = new String[4][4];
  14.  
  15. Random r = new Random(); // Declare the random element r here.
  16.  
  17. String[] randomSuits = new String[4]; // Two sets of 1D arrays to store
  18. // randomized sets of
  19. String[] randomNumbers = new String[4]; // 4 suits and numbers as per
  20. // the example output.
  21.  
  22. for (int i = 0; i < 4; i++)
  23. randomSuits[i] = suits[r.nextInt(4)]; // Randomized suits being
  24. // assigned
  25.  
  26. for (int i = 0; i < 4; i++)
  27. randomNumbers[i] = cardNumbers[r.nextInt(13)]; // Randomized card
  28. // numbers being
  29. // assigned
  30.  
  31. for (int i = 0; i < 4; i++) {
  32. for (int j = 0; j < 4; j++) {
  33. deck[i][j] = " ";
  34. }
  35. }
  36.  
  37.  
  38. int j;
  39. boolean duplicate = false;
  40. for (int i = 0; i < 4; i++)
  41. {
  42. for (j = 0; j < 4; j++)
  43. {
  44. deck[i][j] = randomNumbers[j] + " of " + suits[i];
  45.  
  46. for (int k = 0; k < 4; k++)
  47. {
  48. for (int m = 0; m < 4; m++)
  49. {
  50. if (!((i == k) && (j == m)))
  51. if (deck[k][m].equals(deck[i][j]))
  52. {
  53.  
  54. duplicate = true;
  55.  
  56. }
  57.  
  58. }
  59. }
  60.  
  61. if (duplicate)
  62. {
  63. deck[i][j] = " ";
  64. if (j == 3)
  65. {
  66. i--;
  67. }
  68. else
  69. {
  70. System.out.println(i + " d " + j);
  71. j--;
  72. duplicate = false;
  73. }
  74. }
  75.  
  76.  
  77. }
  78. if (duplicate)
  79. {
  80. System.out.println(i + " " + j);
  81. j = 3;
  82. duplicate = false;
  83. }
  84. }
  85.  
  86. display(deck);
  87.  
  88. boolean repeatLoop = false;
  89.  
  90. Scanner keyboard = new Scanner(System.in);
  91.  
  92. do {
  93. System.out.println("Please pick a card and enter the column number (1-4) where it appears");
  94.  
  95. String columnNumber = keyboard.nextLine();
  96. if ((!columnNumber.equals("1")) || (!columnNumber.equals("2")) || (!columnNumber.equals("3"))
  97. || (!columnNumber.equals("4")))
  98. repeatLoop = true;
  99. else
  100. repeatLoop = false;
  101.  
  102. } while (repeatLoop == true);
  103.  
  104. String[][] transposedMatrix = transposeMatrix(deck);
  105. display(transposedMatrix);
  106.  
  107. }
  108.  
  109. public static String[][] transposeMatrix(String matrix[][]) {
  110. int m = matrix.length;
  111. int n = matrix[0].length;
  112.  
  113. String[][] transposedMatrix = new String[n][m];
  114.  
  115. for (int x = 0; x < n; x++) {
  116. for (int y = 0; y < m; y++) {
  117. transposedMatrix[x][y] = matrix[y][x];
  118. }
  119. }
  120.  
  121. return transposedMatrix;
  122. }
  123.  
  124. public static void display(String x[][]) {
  125. for (int row = 0; row < x.length; row++) {
  126. for (int column = 0; column < x[row].length; column++) {
  127. System.out.printf("%-25s", x[row][column]);
  128. }
  129. System.out.println();
  130. }
  131. }
  132.  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement