Java开发简单Todo应用程序

实现一个简单的Todo应用程序

在这篇文章中,我们将探讨如何使用Java开发一个简单的Todo应用程序。这个应用程序将允许用户添加、删除和查看待办事项。我们将使用Java的面向对象编程特性来实现这一功能。

功能需求

  1. 添加待办事项:用户可以添加新的待办事项。
  2. 删除待办事项:用户可以删除已完成或不再需要的待办事项。
  3. 查看待办事项:用户可以查看当前所有待办事项的列表。

解决方案设计

为了实现上述功能,我们将创建一个简单的控制台应用程序。我们将使用Java的集合框架来存储待办事项列表,并通过命令行接口与用户进行交互。

1. 创建Todo类

首先,我们需要一个Todo类来表示每个待办事项。这个类将包含一个字符串属性来存储待办事项的描述。

public class Todo {
    private String description;

    public Todo(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    @Override
    public String toString() {
        return description;
    }
}

2. 创建TodoList类

接下来,我们将创建一个TodoList类来管理待办事项。这个类将使用一个ArrayList来存储Todo对象,并提供添加、删除和查看待办事项的方法。

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

public class TodoList {
    private List<Todo> todos;

    public TodoList() {
        todos = new ArrayList<>();
    }

    public void addTodo(String description) {
        todos.add(new Todo(description));
    }

    public void removeTodo(int index) {
        if (index >= 0 && index < todos.size()) {
            todos.remove(index);
        } else {
            System.out.println("Invalid index.");
        }
    }

    public void displayTodos() {
        if (todos.isEmpty()) {
            System.out.println("No todos available.");
        } else {
            for (int i = 0; i < todos.size(); i++) {
                System.out.println((i + 1) + ". " + todos.get(i));
            }
        }
    }
}

3. 创建Main类

最后,我们创建一个Main类来运行应用程序。这个类将提供一个简单的命令行接口,允许用户添加、删除和查看待办事项。

import java.util.Scanner;

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

        while (true) {
            System.out.println("\nTodo Application");
            System.out.println("1. Add Todo");
            System.out.println("2. Remove Todo");
            System.out.println("3. View Todos");
            System.out.println("4. Exit");
            System.out.print("Choose an option: ");

            int choice = scanner.nextInt();
            scanner.nextLine(); // Consume newline

            switch (choice) {
                case 1:
                    System.out.print("Enter todo description: ");
                    String description = scanner.nextLine();
                    todoList.addTodo(description);
                    break;
                case 2:
                    System.out.print("Enter todo index to remove: ");
                    int index = scanner.nextInt() - 1;
                    todoList.removeTodo(index);
                    break;
                case 3:
                    todoList.displayTodos();
                    break;
                case 4:
                    System.out.println("Exiting application.");
                    scanner.close();
                    return;
                default:
                    System.out.println("Invalid choice. Please try again.");
            }
        }
    }
}

总结

通过以上步骤,我们成功创建了一个简单的Java控制台应用程序来管理待办事项。这个应用程序展示了Java面向对象编程的基本概念,如类和对象的使用,以及如何使用集合来存储和管理数据。这个基础应用程序可以进一步扩展,比如添加持久化存储、图形用户界面等功能。