Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
470
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.99 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Problem05MatrixShuffling {
  4.     public static void main(String[] args) {
  5.         try {
  6.             Scanner scanner = new Scanner(System.in);
  7.             String[] input = scanner.nextLine().split("\\s+");
  8.             int rowsMatrix = Integer.parseInt(input[0]);
  9.             int colsMatrix = Integer.parseInt(input[1]);
  10.             String[][] matrix = new String[rowsMatrix][colsMatrix];
  11.             readMatrix(scanner, matrix);
  12.             swapMatrix(scanner, matrix);
  13.         } catch (ArrayIndexOutOfBoundsException a){
  14.             printInvalidInput();
  15.         }
  16.  
  17.     }
  18.  
  19.     private static void swapMatrix(Scanner scanner, String[][] matrix) {
  20.         try {
  21.             while (true){
  22.                 String line = scanner.nextLine();
  23.                 if (line.equals("END")){
  24.                     break;
  25.                 }
  26.  
  27.                 String[] comands = line.split("\\s+");
  28.                 if (comands[0].equals("swap") && comands.length == 5){
  29.                     int row1 = Integer.parseInt(comands[1]);
  30.                     int col1 = Integer.parseInt(comands[2]);
  31.                     int row2 = Integer.parseInt(comands[3]);
  32.                     int col2 = Integer.parseInt(comands[4]);
  33.                     try {
  34.                         String temporalElementFromMatrix = matrix[row1][col1];
  35.                         matrix[row1][col1] = matrix[row2][col2];
  36.                         matrix[row2][col2] = temporalElementFromMatrix;
  37.                         printMatrix(matrix);
  38.                     } catch (ArrayIndexOutOfBoundsException a){
  39.                         printInvalidInput();
  40.                     }
  41.                 } else {
  42.                     printInvalidInput();
  43.                 }
  44.             }
  45.         } catch (ArrayIndexOutOfBoundsException a){
  46.             printInvalidInput();
  47.         }
  48.  
  49.     }
  50.  
  51.     private static void printInvalidInput() {
  52.         try {
  53.             System.out.printf("Invalid input!%n");
  54.         } catch (ArrayIndexOutOfBoundsException a){
  55.             printInvalidInput();
  56.         }
  57.     }
  58.  
  59.     private static void printMatrix(String[][] matrix) {
  60.         try {
  61.             for (int row = 0; row < matrix.length; row++) {
  62.                 for (int col = 0; col < matrix[0].length; col++) {
  63.                     System.out.printf("%s ", matrix[row][col]);
  64.                 }
  65.  
  66.                 System.out.printf("%n");
  67.             }
  68.         } catch (ArrayIndexOutOfBoundsException a){
  69.             printInvalidInput();
  70.         }
  71.     }
  72.  
  73.     private static void readMatrix(Scanner scanner, String[][] matrix) {
  74.         try {
  75.             for (int row = 0; row < matrix.length; row++) {
  76.                 String[] currentRow = scanner.nextLine().split("\\s+");
  77.                 for (int col = 0; col < currentRow.length; col++) {
  78.                     matrix[row][col] = currentRow[col];
  79.                 }
  80.             }
  81.         } catch (ArrayIndexOutOfBoundsException a){
  82.             printInvalidInput();
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement