Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Random; //Import this to generate pseudo-random code.
- public class Question2 {
- public static void main(String[] args) {
- String[] cardNumbers = { "Ace", "Two", "Three", "Four", "Five", "Six", "Seven", " Eight", "Nine", "Ten", "Jack",
- "Queen ", "King" };
- String[] suits = { "Spades", "Clubs", "Hearts", "Diamonds" };
- String[][] deck = new String[4][4];
- Random r = new Random(); // Declare the random element r here.
- String[] randomSuits = new String[4]; // Two sets of 1D arrays to store
- // randomized sets of
- String[] randomNumbers = new String[4]; // 4 suits and numbers as per
- // the example output.
- for (int i = 0; i < 4; i++)
- randomSuits[i] = suits[r.nextInt(4)]; // Randomized suits being
- // assigned
- for (int i = 0; i < 4; i++)
- randomNumbers[i] = cardNumbers[r.nextInt(13)]; // Randomized card
- // numbers being
- // assigned
- for (int i = 0; i < 4; i++) {
- for (int j = 0; j < 4; j++) {
- deck[i][j] = " ";
- }
- }
- int j;
- boolean duplicate = false;
- for (int i = 0; i < 4; i++)
- {
- for (j = 0; j < 4; j++)
- {
- deck[i][j] = randomNumbers[j] + " of " + suits[i];
- for (int k = 0; k < 4; k++)
- {
- for (int m = 0; m < 4; m++)
- {
- if (!((i == k) && (j == m)))
- if (deck[k][m].equals(deck[i][j]))
- {
- duplicate = true;
- }
- }
- }
- if (duplicate)
- {
- deck[i][j] = " ";
- if (j == 3)
- {
- i--;
- }
- else
- {
- System.out.println(i + " d " + j);
- j--;
- duplicate = false;
- }
- }
- }
- if (duplicate)
- {
- System.out.println(i + " " + j);
- j = 3;
- duplicate = false;
- }
- }
- display(deck);
- boolean repeatLoop = false;
- Scanner keyboard = new Scanner(System.in);
- do {
- System.out.println("Please pick a card and enter the column number (1-4) where it appears");
- String columnNumber = keyboard.nextLine();
- if ((!columnNumber.equals("1")) || (!columnNumber.equals("2")) || (!columnNumber.equals("3"))
- || (!columnNumber.equals("4")))
- repeatLoop = true;
- else
- repeatLoop = false;
- } while (repeatLoop == true);
- String[][] transposedMatrix = transposeMatrix(deck);
- display(transposedMatrix);
- }
- public static String[][] transposeMatrix(String matrix[][]) {
- int m = matrix.length;
- int n = matrix[0].length;
- String[][] transposedMatrix = new String[n][m];
- for (int x = 0; x < n; x++) {
- for (int y = 0; y < m; y++) {
- transposedMatrix[x][y] = matrix[y][x];
- }
- }
- return transposedMatrix;
- }
- public static void display(String x[][]) {
- for (int row = 0; row < x.length; row++) {
- for (int column = 0; column < x[row].length; column++) {
- System.out.printf("%-25s", x[row][column]);
- }
- System.out.println();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement