Advertisement
IrinaIgnatova

Exam-JavaAdvanced-excelFunctions_matrix

Dec 16th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.32 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Excel {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.  
  7.         int rowCount = Integer.parseInt(scanner.nextLine());
  8.  
  9.         //пазим си входните данни в масив защото трябва да достъпваме по индекс на колона
  10.         String[][] matrix = new String[rowCount][];// пазим в String защото няма да правим никакви действия с числата
  11.  
  12.         for (int i = 0; i < rowCount; i++) {
  13.             matrix[i] = scanner.nextLine().split(", ");//тук си четем редовете
  14.  
  15.  
  16.         }
  17.         String[] command = scanner.nextLine().split(" ");
  18.  
  19.         if (command[0].equals("hide")) {
  20.             hideColumnAndPrint(matrix, command[1]);//правим си метод
  21.         }else if (command[0].equals("sort")){
  22.             sortByColumnAndPrint(matrix,command[1]);
  23.         }else {
  24.             filterByColumnAndPrint(matrix, command[1],command[2]);
  25.         }
  26.     }
  27.  
  28.     private static void filterByColumnAndPrint(String[][] matrix, String filterColumn,String filterValue) {
  29. //на кой индекс се намира колоната, спрямо която трябва да филтрирам
  30.         int filterColumnIndex=-1; //да си го допиша
  31.  
  32.         //при принтираме почваме цикъла от 1 защото не искаме да махаме първия ред по усл
  33.         for (int i = 1; i < matrix.length; i++) {
  34.             for (int j = 0; j < matrix[i].length; j++) {
  35.                
  36.             }
  37.  
  38.         }
  39.     }
  40.  
  41.     private static void sortByColumnAndPrint(String[][] matrix, String sortColumnName) {
  42.         //сортираме редовете на матрицата по една от колоната
  43.         //т.е трябва ни индекса на колоната
  44.         //да го допиша
  45.     }
  46.  
  47.     private static void hideColumnAndPrint(String[][] matrix, String hiddenColumn) {
  48.         //тук търсим кой е индексът на колоната и го прескачаме за да не го принтираме
  49.         //т.е обикаляме първия ред и търсим кой от елементите съвпада
  50.  
  51.         int hiddenColumnIndex = -1;//по default може и =0
  52.  
  53.         for (int i = 0; i < matrix[0].length; i++) {
  54.             if (matrix[0][i].equals(hiddenColumn)) {
  55.                 hiddenColumnIndex = i;
  56.                 break;
  57.             }
  58.         }
  59.         //принтираме:
  60.         for (int i = 0; i < matrix.length; i++) {
  61.             for (int j = 0; j < matrix[i].length; j++) {
  62.                 //дали не съм  на колоната, която да не принтирам
  63.                 if (j == hiddenColumnIndex) {
  64.                     continue;//премини към следващата итерация
  65.                 }
  66.                 System.out.print(matrix[i][j]);
  67.                 // и дали не съм на последния елемент за да не принтирам  |
  68.                 if (j != matrix[i].length - 1) {
  69.                     System.out.print(" | ");
  70.                 }
  71.             }
  72.             System.out.println();
  73.         }
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement