Advertisement
ProgNeo

Untitled

Nov 16th, 2021
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.11 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class Menu {
  6.     public static void printMenu() {
  7.         System.out.println("1. Задачи с матрицей");
  8.         System.out.println("2. Задачи с текстом");
  9.         System.out.println("3. Выход");
  10.     }
  11.  
  12.     public static void chooseTask() {
  13.         int choice;
  14.         StringBuilder result = new StringBuilder();
  15.  
  16.         choice = Input.inputInt(1, 3, "");
  17.         switch (choice) {
  18.             case 1 -> {
  19.                 Matrix matrix = inputMatrixTypeChoose();
  20.                 result.append("Исходная матрица:\n").append(matrix.getStringMatrix()).append("\n");
  21.  
  22.                 System.out.println("1. Транспонировать матрицу");
  23.                 if (matrix.is3x3()) {
  24.                     System.out.println("2. Найти определитель матрицы 3 на 3");
  25.                     System.out.println("3. Найти все возможные определители второго порядка из матрицы 3 на 3");
  26.                     choice = Input.inputInt(1, 3, "");
  27.                 } else {
  28.                     System.out.println("2. Найти определитель матрицы 3 на 3 (недоступно)");
  29.                     System.out.println(
  30.                             "3. Найти все возможные определители второго порядка из матрицы 3 на 3 (недоступно)"
  31.                     );
  32.                     choice = Input.inputInt(1, 1, "");
  33.                 }
  34.  
  35.                 switch (choice) {
  36.                     case 1 -> {
  37.                         matrix.transposeMatrix();
  38.                         result.append("Транспонированная матрица:\n").append(matrix.getStringMatrix());
  39.                     }
  40.                     case 2 -> {
  41.                         result.append(String.format("Определитель матрицы = %s\n", matrix.calculateDeterminant()));
  42.                     }
  43.                     case 3 -> {
  44.                         result.append("Определители второго порядка:\n").append(Arrays.toString(matrix.calculateDeterminantsOfSecondOrder()));
  45.                     }
  46.                 }
  47.             }
  48.             case 2 -> {
  49.                 Text text = inputTextTypeChoose();
  50.                 result.insert(0, "Исходный текст:\n" + text.getText() + "\n");
  51.                 System.out.println("1. Найти количество слов и предложений в заданном тексте");
  52.                 choice = Input.inputInt(1, 1, "");
  53.                 switch (choice) {
  54.                     case 1 -> {
  55.                         int[] count = text.countNumberOfLettersAndSentences();
  56.                         result.append(String.format("Количество слов: %s\nКоличество предложений: %s\n", count[0], count[1]));
  57.                     }
  58.                 }
  59.             }
  60.             case 3 -> {
  61.                 return;
  62.             }
  63.         }
  64.  
  65.         System.out.println(result);
  66.         System.out.println();
  67.  
  68.         System.out.println("1. Сохранить в текстовый файл");
  69.         System.out.println("2. Сохранить в бинарный файл");
  70.         System.out.println("3. Не сохранять");
  71.  
  72.         choice = Input.inputInt(1, 3, "");
  73.         switch (choice) {
  74.             case 1 -> {
  75.                 File.saveToTextFile(result.toString());
  76.             }
  77.             case 2 -> {
  78.                 File.saveToBinFile(result.toString());
  79.             }
  80.             case 3 -> {}
  81.         }
  82.     }
  83.  
  84.     private static Matrix inputMatrixTypeChoose() {
  85.         Matrix matrix = new Matrix();
  86.  
  87.         System.out.println("1. Ввести матрицу вручную");
  88.         System.out.println("2. Заполнить матрицу случайными числами");
  89.         System.out.println("3. Использовать заготовленную матрицу");
  90.         System.out.println("4. Заполнить матрицу из файла");
  91.  
  92.         int choice = Input.inputInt(1, 4, "");
  93.         switch (choice) {
  94.             case 1 -> {
  95.                 matrix = Input.inputMatrix();
  96.             }
  97.             case 2 -> {
  98.                 matrix = Input.randomMatrix();
  99.             }
  100.             case 3 -> { }
  101.             case 4 -> {
  102.                 System.out.println("1. Текстовый файл");
  103.                 System.out.println("2. Бинарный файл");
  104.                 choice = Input.inputInt(1, 2, "");
  105.                 switch (choice) {
  106.                     case 1 -> {
  107.                         matrix = Input.readMatrixFromString(File.loadFromTextFile());
  108.                     }
  109.                     case 2 -> {
  110.                         matrix = Input.readMatrixFromString(File.loadFromBinFile());
  111.                     }
  112.                 }
  113.             }
  114.         }
  115.  
  116.         return matrix;
  117.     }
  118.  
  119.     private static Text inputTextTypeChoose() {
  120.         Text text = new Text();
  121.  
  122.         System.out.println("1. Ввести текст вручную");
  123.         System.out.println("2. Использовать заготовленный текст");
  124.         System.out.println("3. Ввести текст из файла");
  125.  
  126.         int choice = Input.inputInt(1, 3, "");
  127.         switch (choice) {
  128.             case 1 -> {
  129.                 text = new Text(Input.inputString("Введите текст: "));
  130.             }
  131.             case 2 -> { }
  132.             case 3 -> {
  133.                 System.out.println("1. Текстовый файл");
  134.                 System.out.println("2. Бинарный файл");
  135.                 choice = Input.inputInt(1, 2, "");
  136.                 switch (choice) {
  137.                     case 1 -> {
  138.                         text = new Text(File.loadFromTextFile());
  139.                     }
  140.                     case 2 -> {
  141.                         text = new Text(File.loadFromBinFile());
  142.                     }
  143.                 }
  144.             }
  145.         }
  146.  
  147.         return text;
  148.     }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement