/
KuznetcovVS
/
hwList
Обзор
Документация
Войти
/
KuznetcovVS
/
hwList
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Main.java
131 строка
5 KB
KuznetcovVS
List
27 мар 2025, 15:39
27 мар 2025, 15:39
8fa7a8a
Код
Авторство
О чём код?
import java.util.ArrayList; import java.util.Iterator; import java.util.Scanner; public class Main { public static void main(String[] args) { ArrayList<String> tasks = new ArrayList<>(); Scanner scanner = new Scanner(System.in); while (true) { printMenu(); int choice = scanner.nextInt(); scanner.nextLine(); switch (choice) { case 0: System.out.println("Выход из программы."); return; case 1: addTask(tasks, scanner); break; case 2: printTasks(tasks); break; case 3: deleteTaskByNumber(tasks, scanner); break; case 4: deleteTaskByName(tasks, scanner); break; case 5: deleteTasksByKeyword(tasks, scanner); break; default: System.out.println("Неверный выбор. Попробуйте снова."); } } } private static void printMenu() { System.out.println("\nВыберите операцию:"); System.out.println("0. Выход из программы"); System.out.println("1. Добавить дело"); System.out.println("2. Показать дела"); System.out.println("3. Удалить дело по номеру"); System.out.println("4. Удалить дело по названию"); System.out.println("5. Удалить дело по ключевому слову"); System.out.print("Ваш выбор: "); } private static void addTask(ArrayList<String> tasks, Scanner scanner) { System.out.print("Введите название задачи: "); String task = scanner.nextLine(); if (tasks.contains(task)) { System.out.println("Такое дело уже есть в списке."); } else { tasks.add(task); System.out.println("Добавлено!"); } printTasks(tasks); } private static void printTasks(ArrayList<String> tasks) { if (tasks.isEmpty()) { System.out.println("Список дел пуст."); } else { System.out.println("Ваш список дел:"); for (int i = 0; i < tasks.size(); i++) { System.out.println((i + 1) + ". " + tasks.get(i)); } } } private static void deleteTaskByNumber(ArrayList<String> tasks, Scanner scanner) { System.out.print("Введите номер для удаления: "); int num = scanner.nextInt(); scanner.nextLine(); if (num >= 1 && num <= tasks.size()) { tasks.remove(num - 1); System.out.println("Удалено!"); } else { System.out.println("Нет дела с таким номером."); } printTasks(tasks); } private static void deleteTaskByName(ArrayList<String> tasks, Scanner scanner) { System.out.print("Введите задачу для удаления: "); String task = scanner.nextLine().trim(); boolean removed = false; Iterator<String> iterator = tasks.iterator(); while (iterator.hasNext()) { String currentTask = iterator.next(); if (currentTask.equals(task)) { iterator.remove(); removed = true; } } if (removed) { System.out.println("Удалено!"); } else { System.out.println("Нет дела с таким названием."); } printTasks(tasks); } private static void deleteTasksByKeyword(ArrayList<String> tasks, Scanner scanner) { System.out.print("Введите ключевое слово для удаления: "); String keyword = scanner.nextLine(); ArrayList<String> tasksToKeep = new ArrayList<>(); for (String task : tasks) { if (!task.contains(keyword)) { tasksToKeep.add(task); } } if (tasksToKeep.size() < tasks.size()) { tasks.clear(); tasks.addAll(tasksToKeep); System.out.println("Удалено!"); } else { System.out.println("Нет дел, содержащих это ключевое слово."); } printTasks(tasks); } }