/
Ersh
/
HomeworkList
Обзор
Документация
Войти
/
Ersh
/
HomeworkList
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/Main.java
137 строк
6 KB
Ersh
upload files
27 авг 2025, 18:54
27 авг 2025, 18:54
4d7c017
Код
Авторство
О чём код?
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); List<String> todos = new ArrayList<>(); int choice; while (true) { printMenu(); System.out.print("Ваш выбор: "); try { choice = Integer.parseInt(scanner.nextLine()); } catch (NumberFormatException e) { System.out.println("Ошибка: введите число от 0 до 5.\n"); continue; } switch (choice) { case 0: System.out.println("Программа завершена!"); scanner.close(); return; case 1: System.out.print("Введите название задачи: "); String task = scanner.nextLine().trim(); if (task.isEmpty()) { System.out.println("Название задачи не может быть пустым.\n"); break; } if (todos.contains(task)) { System.out.println("Такое дело уже есть в списке.\n"); break; } todos.add(task); System.out.println("Добавлено!"); break; case 2: break; case 3: if (todos.isEmpty()) { System.out.println("Список дел пуст.\n"); break; } System.out.print("Введите номер для удаления: "); int number; try { number = Integer.parseInt(scanner.nextLine()); } catch (NumberFormatException e) { System.out.println("Ошибка: введите корректный номер.\n"); break; } if (number < 1 || number > todos.size()) { System.out.println("Нет дела с таким номером.\n"); } else { String removed = todos.remove(number - 1); System.out.println("Удалено!"); } break; case 4: if (todos.isEmpty()) { System.out.println("Список дел пуст.\n"); break; } System.out.print("Введите задачу для удаления: "); String exactTask = scanner.nextLine().trim(); if (todos.remove(exactTask)) { System.out.println("Удалено!"); } else { System.out.println("Дело с таким названием не найдено."); } break; case 5: if (todos.isEmpty()) { System.out.println("Список дел пуст.\n"); break; } System.out.print("Введите ключевое слово для удаления: "); String keyword = scanner.nextLine().trim(); if (keyword.isEmpty()) { System.out.println("Ключевое слово не может быть пустым.\n"); break; } List<String> toRemove = new ArrayList<>(); for (String taskItem : todos) { if (taskItem.toLowerCase().contains(keyword.toLowerCase())) { toRemove.add(taskItem); } } if (toRemove.isEmpty()) { System.out.println("Ни одна задача не содержит это слово."); } else { todos.removeAll(toRemove); System.out.println("Удалено " + toRemove.size() + " задач(и)!"); } break; default: System.out.println("Ошибка: неверный номер операции.\n"); continue; } printTodos(todos); } } public static void printMenu() { System.out.println("Выберите операцию:"); System.out.println("0. Выход из программы"); System.out.println("1. Добавить дело"); System.out.println("2. Показать дела"); System.out.println("3. Удалить дело по номеру"); System.out.println("4. Удалить дело по названию"); System.out.println("5. Удалить дело по ключевому слову"); } public static void printTodos(List<String> todos) { System.out.println("Ваш список дел:"); if (todos.isEmpty()) { System.out.println("Список дел пуст."); } else { for (int i = 0; i < todos.size(); i++) { System.out.println((i + 1) + ". " + todos.get(i)); } } System.out.println(); } }