简单任务管理应用程序

实现简单的任务管理应用程序

在这篇文章中,我们将探讨如何使用Java构建一个简单的任务管理应用程序。这个应用程序允许用户创建、查看、更新和删除任务。我们将使用Java的标准库和一些面向对象的编程原则来实现这一功能。

功能需求

  1. 创建任务:用户可以输入任务的标题和描述来创建新任务。
  2. 查看任务列表:用户可以查看所有已创建的任务。
  3. 更新任务:用户可以更新现有任务的标题和描述。
  4. 删除任务:用户可以删除不再需要的任务。

设计方案

我们将采用面向对象的设计来实现这个应用程序。主要的类包括:

  • Task:表示单个任务,包含标题、描述和唯一的任务ID。
  • TaskManager:负责管理任务列表,提供创建、更新、删除和查看任务的功能。
  • Main:应用程序的入口,提供简单的命令行界面供用户使用。

代码实现

Task类

public class Task {
    private static int idCounter = 0;
    private int id;
    private String title;
    private String description;

    public Task(String title, String description) {
        this.id = ++idCounter;
        this.title = title;
        this.description = description;
    }

    public int getId() {
        return id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return "Task ID: " + id + ", Title: " + title + ", Description: " + description;
    }
}

TaskManager类

import java.util.ArrayList;
import java.util.List;

public class TaskManager {
    private List<Task> tasks = new ArrayList<>();

    public void addTask(String title, String description) {
        Task task = new Task(title, description);
        tasks.add(task);
        System.out.println("Task added: " + task);
    }

    public void viewTasks() {
        if (tasks.isEmpty()) {
            System.out.println("No tasks available.");
        } else {
            for (Task task : tasks) {
                System.out.println(task);
            }
        }
    }

    public void updateTask(int id, String newTitle, String newDescription) {
        for (Task task : tasks) {
            if (task.getId() == id) {
                task.setTitle(newTitle);
                task.setDescription(newDescription);
                System.out.println("Task updated: " + task);
                return;
            }
        }
        System.out.println("Task ID not found.");
    }

    public void deleteTask(int id) {
        tasks.removeIf(task -> task.getId() == id);
        System.out.println("Task with ID " + id + " deleted.");
    }
}

Main类

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        TaskManager taskManager = new TaskManager();
        Scanner scanner = new Scanner(System.in);
        String command;

        System.out.println("Welcome to Task Manager!");
        while (true) {
            System.out.println("Enter command (add, view, update, delete, exit):");
            command = scanner.nextLine();

            switch (command) {
                case "add":
                    System.out.println("Enter task title:");
                    String title = scanner.nextLine();
                    System.out.println("Enter task description:");
                    String description = scanner.nextLine();
                    taskManager.addTask(title, description);
                    break;
                case "view":
                    taskManager.viewTasks();
                    break;
                case "update":
                    System.out.println("Enter task ID to update:");
                    int updateId = Integer.parseInt(scanner.nextLine());
                    System.out.println("Enter new title:");
                    String newTitle = scanner.nextLine();
                    System.out.println("Enter new description:");
                    String newDescription = scanner.nextLine();
                    taskManager.updateTask(updateId, newTitle, newDescription);
                    break;
                case "delete":
                    System.out.println("Enter task ID to delete:");
                    int deleteId = Integer.parseInt(scanner.nextLine());
                    taskManager.deleteTask(deleteId);
                    break;
                case "exit":
                    System.out.println("Exiting Task Manager. Goodbye!");
                    scanner.close();
                    return;
                default:
                    System.out.println("Invalid command.");
                    break;
            }
        }
    }
}

总结

通过以上代码,我们实现了一个简单的任务管理应用程序,支持基本的CRUD操作。这个项目展示了如何使用Java的面向对象编程特性来构建一个功能丰富的应用程序。未来可以通过引入持久化存储、图形用户界面等功能来扩展这个项目。