deyanmalinov

05. Matrix shuffling - nextInt

May 25th, 2019
156
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Scanner;
  2. public class Main {
  3.     public static void main(String[] args) {
  4.         Scanner scan = new Scanner(System.in);
  5. //        String[] line = scan.nextLine().split(" ");
  6. //        int rows = Integer.parseInt(line[0]);
  7. //        int cols = Integer.parseInt(line[1]);
  8.         int rows = scan.nextInt();
  9.         int cols = scan.nextInt();
  10.         scan.nextLine();
  11.         String[][] matrix = new String[rows][cols];
  12.         for (int r = 0; r < rows; r++) {
  13.             matrix[r] = scan.nextLine().split(" ");
  14.         }
  15.         String comand = scan.nextLine();
  16.         while (!comand.equals("END")){
  17.             String[] tokens = comand.split(" ");
  18.             if (tokens[0].equals("swap") && tokens.length == 5){
  19.                 int firRow = Integer.parseInt(tokens[1]);
  20.                 int firCol = Integer.parseInt(tokens[2]);
  21.                 int secRow = Integer.parseInt(tokens[3]);
  22.                 int secCol = Integer.parseInt(tokens[4]);
  23.                 if (isInBound(matrix, firRow, firCol) && isInBound(matrix, secRow, secCol)){
  24.                     String temp = matrix[firRow][firCol];
  25.                     matrix[firRow][firCol] = matrix[secRow][secCol];
  26.                     matrix[secRow][secCol] = temp;
  27.                    PrintMatrix(matrix);
  28.                 }else {
  29.                     System.out.println("Invalid input!");
  30.                 }
  31.             }else {
  32.                 System.out.println("Invalid input!");
  33.             }
  34.             comand = scan.nextLine();
  35.         }
  36.     }
  37.     private static boolean isInBound(String[][] matrix, int row, int col) {
  38.         return row >= 0 && matrix.length > row && col >= 0 && col < matrix[row].length;
  39.     }
  40.     private static void PrintMatrix(String matrix[][]) {
  41.         for (int row = 0; row < matrix.length; row++) {
  42.             for (int col = 0; col < matrix[row].length; col++) {
  43.                 System.out.print(matrix[row][col] + " ");
  44.             }
  45.             System.out.println();
  46.         }
  47.     }
  48. }
RAW Paste Data