Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.Arrays;
- public class Menu {
- public static void printMenu() {
- System.out.println("1. Задачи с матрицей");
- System.out.println("2. Задачи с текстом");
- System.out.println("3. Выход");
- }
- public static void chooseTask() {
- int choice;
- StringBuilder result = new StringBuilder();
- choice = Input.inputInt(1, 3, "");
- switch (choice) {
- case 1 -> {
- Matrix matrix = inputMatrixTypeChoose();
- result.append("Исходная матрица:\n").append(matrix.getStringMatrix()).append("\n");
- System.out.println("1. Транспонировать матрицу");
- if (matrix.is3x3()) {
- System.out.println("2. Найти определитель матрицы 3 на 3");
- System.out.println("3. Найти все возможные определители второго порядка из матрицы 3 на 3");
- choice = Input.inputInt(1, 3, "");
- } else {
- System.out.println("2. Найти определитель матрицы 3 на 3 (недоступно)");
- System.out.println(
- "3. Найти все возможные определители второго порядка из матрицы 3 на 3 (недоступно)"
- );
- choice = Input.inputInt(1, 1, "");
- }
- switch (choice) {
- case 1 -> {
- matrix.transposeMatrix();
- result.append("Транспонированная матрица:\n").append(matrix.getStringMatrix());
- }
- case 2 -> {
- result.append(String.format("Определитель матрицы = %s\n", matrix.calculateDeterminant()));
- }
- case 3 -> {
- result.append("Определители второго порядка:\n").append(Arrays.toString(matrix.calculateDeterminantsOfSecondOrder()));
- }
- }
- }
- case 2 -> {
- Text text = inputTextTypeChoose();
- result.insert(0, "Исходный текст:\n" + text.getText() + "\n");
- System.out.println("1. Найти количество слов и предложений в заданном тексте");
- choice = Input.inputInt(1, 1, "");
- switch (choice) {
- case 1 -> {
- int[] count = text.countNumberOfLettersAndSentences();
- result.append(String.format("Количество слов: %s\nКоличество предложений: %s\n", count[0], count[1]));
- }
- }
- }
- case 3 -> {
- return;
- }
- }
- System.out.println(result);
- System.out.println();
- System.out.println("1. Сохранить в текстовый файл");
- System.out.println("2. Сохранить в бинарный файл");
- System.out.println("3. Не сохранять");
- choice = Input.inputInt(1, 3, "");
- switch (choice) {
- case 1 -> {
- File.saveToTextFile(result.toString());
- }
- case 2 -> {
- File.saveToBinFile(result.toString());
- }
- case 3 -> {}
- }
- }
- private static Matrix inputMatrixTypeChoose() {
- Matrix matrix = new Matrix();
- System.out.println("1. Ввести матрицу вручную");
- System.out.println("2. Заполнить матрицу случайными числами");
- System.out.println("3. Использовать заготовленную матрицу");
- System.out.println("4. Заполнить матрицу из файла");
- int choice = Input.inputInt(1, 4, "");
- switch (choice) {
- case 1 -> {
- matrix = Input.inputMatrix();
- }
- case 2 -> {
- matrix = Input.randomMatrix();
- }
- case 3 -> { }
- case 4 -> {
- System.out.println("1. Текстовый файл");
- System.out.println("2. Бинарный файл");
- choice = Input.inputInt(1, 2, "");
- switch (choice) {
- case 1 -> {
- matrix = Input.readMatrixFromString(File.loadFromTextFile());
- }
- case 2 -> {
- matrix = Input.readMatrixFromString(File.loadFromBinFile());
- }
- }
- }
- }
- return matrix;
- }
- private static Text inputTextTypeChoose() {
- Text text = new Text();
- System.out.println("1. Ввести текст вручную");
- System.out.println("2. Использовать заготовленный текст");
- System.out.println("3. Ввести текст из файла");
- int choice = Input.inputInt(1, 3, "");
- switch (choice) {
- case 1 -> {
- text = new Text(Input.inputString("Введите текст: "));
- }
- case 2 -> { }
- case 3 -> {
- System.out.println("1. Текстовый файл");
- System.out.println("2. Бинарный файл");
- choice = Input.inputInt(1, 2, "");
- switch (choice) {
- case 1 -> {
- text = new Text(File.loadFromTextFile());
- }
- case 2 -> {
- text = new Text(File.loadFromBinFile());
- }
- }
- }
- }
- return text;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement