Advertisement
bobo_bobkata

Untitled

Jun 19th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.94 KB | None | 0 0
  1. package PredvaritelnoAdvanced.Tesove.February_17;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7.  
  8. public class ExelSecond {
  9.  
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.         int rowCount = Integer.parseInt(scanner.nextLine());
  13.         String[][] matrix = new String[rowCount][];
  14.         for (int i = 0; i < rowCount; i++) {
  15.             matrix[i] = scanner.nextLine().split(", ");
  16.         }
  17.         String[] commands = scanner.nextLine().split("\\s+");
  18.         switch (commands[0]) {
  19.             case "sort":
  20.                 sortOption(matrix, commands[1]);
  21.                 break;
  22.             case "filter":
  23.                 filterOption(matrix, commands[1], commands[2]);
  24.                 break;
  25.             case "hide":
  26.                 hideOption(matrix, commands[1]);
  27.                 break;
  28.         }
  29.     }
  30.  
  31.     private static void filterOption(String[][] matrix, String command, String type) {
  32.         int searchedColumn = findIndexOfSearchedColumn(matrix[0], command);
  33.         System.out.println(String.join(" | ", matrix[0]));
  34.         for (int i = 0; i < matrix.length; i++) {
  35.             if (matrix[i][searchedColumn].equals(type)) {
  36.                 System.out.println(String.join(" | ", matrix[i]));
  37.             }
  38.         }
  39.     }
  40.  
  41.     private static void sortOption(String[][] matrix, String command) {
  42.         int searchedColumn = findIndexOfSearchedColumn(matrix[0], command);
  43.         String[] masToSort = new String[matrix.length - 1];
  44.         int index = 0;
  45.         for (int i = 1; i < matrix.length; i++) {
  46.             masToSort[index++] = matrix[i][searchedColumn];
  47.         }
  48.         Arrays.sort(masToSort);
  49.         System.out.println(String.join(" | ", matrix[0]));
  50.         for (int i = 0; i < masToSort.length; i++) {
  51.             for (int j = 1; j < matrix.length; j++) {
  52.                 if (matrix[j][searchedColumn].equals(masToSort[i])) {
  53.                     System.out.println(String.join(" | ", matrix[j]));
  54.                 }
  55.             }
  56.         }
  57.  
  58.     }
  59.  
  60.     private static void hideOption(String[][] matrix, String command) {
  61.         int searchedColumn = findIndexOfSearchedColumn(matrix[0], command);
  62.         for (int i = 0; i < matrix.length; i++) {
  63.             List<String> list = new ArrayList<>();
  64.             for (int j = 0; j < matrix[i].length; j++) {
  65.                 if (j == searchedColumn) {
  66.                     continue;
  67.                 }
  68.                 list.add(matrix[i][j]);
  69.             }
  70.             System.out.println(String.join(" | ", list));
  71.         }
  72.     }
  73.  
  74.     private static int findIndexOfSearchedColumn(String[] matrix, String command) {
  75.         int column = -1;
  76.         for (int i = 0; i < matrix.length; i++) {
  77.             if (matrix[i].equals(command)) {
  78.                 column = i;
  79.                 break;
  80.             }
  81.         }
  82.         return column;
  83.     }
  84.  
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement