Добавлены статические поля и методы в класс Task для отслеживания количества созданных задач и их идентификаторов. Изменена логика создания задач в классе TodoApp, теперь используется статическое поле taskCount для управления задачами. Обновлен вывод информации о задачах, добавлена дата создания.

This commit is contained in:
2025-05-19 13:24:34 +03:00
parent 0183648b3c
commit 5c66a66bfe
2 changed files with 33 additions and 14 deletions
+9 -11
View File
@@ -5,8 +5,6 @@ import java.util.Scanner;
public class TodoApp {
private static Task[] tasks = new Task[10];
private static int nextTaskId = 1;
private static int tasksCounter = 0;
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
@@ -37,6 +35,7 @@ public class TodoApp {
private static void displayMainMenu() {
while (true) {
Task.printTotalTasksCreated();
String menu = """
┌──────────────────────────┐
@@ -61,12 +60,11 @@ public class TodoApp {
private static void displayCreateTask() {
if (tasksCounter >= 9) {
if (Task.taskCount >= 9) {
System.out.println("\nОшибка: Достигнут лимит в 10 дел.\n");
return;
}
int id = nextTaskId++;
String title;
String description;
@@ -82,13 +80,13 @@ public class TodoApp {
System.out.print("\nНпишите описание дела: ");
description = scanner.nextLine().trim();
var task = new Task(id, title, description);
tasks[tasksCounter++] = task;
var task = new Task(title, description);
tasks[Task.taskCount - 1] = task;
}
private static void displayTasks() {
if (tasksCounter < 1) {
if (Task.taskCount == 0) {
int input = requestIntFromInput("""
Список дел пуст.
@@ -105,16 +103,16 @@ public class TodoApp {
System.exit(0);
}
int[] variantsInput = new int[tasksCounter + 1];
int[] variantsInput = new int[Task.taskCount + 1];
System.out.println("""
Список дел:
""");
for (int i = 0; i < tasksCounter; i++) {
for (int i = 0; i < Task.taskCount; i++) {
tasks[i].printInfo();
variantsInput[i] = tasks[i].getId();
}
variantsInput[tasksCounter] = 0;
variantsInput[Task.taskCount] = 0;
int input = requestIntFromInput("""
Введите номер дела или 0 для возврата в меню:""", variantsInput);
@@ -127,7 +125,7 @@ public class TodoApp {
}
private static Task getTaskById(int id) {
for (int i = 0; i < tasksCounter; i++) {
for (int i = 0; i < Task.taskCount; i++) {
if (tasks[i].getId() == id)
return tasks[i];
}