登录
首页 >  文章 >  java教程

Java待办事项应用开发教程

时间:2026-04-12 16:23:40 388浏览 收藏

本文手把手教你用Java面向对象思想从零实现一个功能完整、结构清晰的命令行待办事项(Todo)应用,涵盖任务建模(TodoItem类)、列表管理(TodoList类)和交互控制(Main主程序),支持增删改查及状态切换等核心操作,并内置基础输入校验与友好提示;代码简洁易懂,既夯实Java基础语法与OOP实践能力,又为后续扩展——如文件持久化、优先级管理、GUI界面等——提供了扎实可演进的架构起点,非常适合初学者动手练手并快速构建属于自己的第一个实用小工具。

Java中如何实现Todo待办事项应用

实现一个简单的Todo待办事项应用,可以通过Java基础语法结合面向对象思想来完成。你可以使用控制台(命令行)作为用户界面,管理待办任务的增删改查。下面是一个结构清晰、易于理解的实现方式。

1. 定义Todo任务类(TodoItem)

每个待办事项可以看作一个对象,包含任务内容、是否完成等属性。

public class TodoItem {
    private String title;
    private boolean completed;
<pre class="brush:java;toolbar:false;">public TodoItem(String title) {
    this.title = title;
    this.completed = false;
}

public String getTitle() {
    return title;
}

public boolean isCompleted() {
    return completed;
}

public void setCompleted(boolean completed) {
    this.completed = completed;
}

@Override
public String toString() {
    return (completed ? "[✓] " : "[ ] ") + title;
}

}

2. 管理Todo列表(TodoList)

使用ArrayList存储多个TodoItem,并提供添加、删除、标记完成等操作。

import java.util.ArrayList;
import java.util.List;
<p>public class TodoList {
private List<todoitem> items;</todoitem></p><pre class="brush:java;toolbar:false;">public TodoList() {
    items = new ArrayList<>();
}

public void add(String title) {
    items.add(new TodoItem(title));
}

public void remove(int index) {
    if (index >= 0 && index < items.size()) {
        items.remove(index);
    } else {
        System.out.println("无效的序号!");
    }
}

public void toggleComplete(int index) {
    if (index >= 0 && index < items.size()) {
        TodoItem item = items.get(index);
        item.setCompleted(!item.isCompleted());
    } else {
        System.out.println("无效的序号!");
    }
}

public void display() {
    if (items.isEmpty()) {
        System.out.println("暂无待办事项。");
    } else {
        for (int i = 0; i < items.size(); i++) {
            System.out.println((i + 1) + ". " + items.get(i));
        }
    }
}

}

3. 主程序与用户交互(Main)

通过Scanner接收用户输入,调用TodoList的方法进行操作。

import java.util.Scanner;
<p>public class Main {
public static void main(String[] args) {
TodoList todoList = new TodoList();
Scanner scanner = new Scanner(System.in);
String command;</p><pre class="brush:java;toolbar:false;">    System.out.println("欢迎使用Todo待办事项应用!");

    while (true) {
        System.out.println("\n可用操作:add(添加), list(查看), complete(完成), remove(删除), quit(退出)");
        System.out.print("请输入命令: ");
        command = scanner.nextLine().trim().toLowerCase();

        switch (command) {
            case "add":
                System.out.print("请输入任务内容: ");
                String title = scanner.nextLine();
                todoList.add(title);
                System.out.println("任务已添加。");
                break;

            case "list":
                todoList.display();
                break;

            case "complete":
                System.out.print("请输入要标记完成的任务编号: ");
                try {
                    int index = Integer.parseInt(scanner.nextLine()) - 1;
                    todoList.toggleComplete(index);
                    System.out.println("任务状态已更新。");
                } catch (NumberFormatException e) {
                    System.out.println("请输入有效数字。");
                }
                break;

            case "remove":
                System.out.print("请输入要删除的任务编号: ");
                try {
                    int index = Integer.parseInt(scanner.nextLine()) - 1;
                    todoList.remove(index);
                    System.out.println("任务已删除。");
                } catch (NumberFormatException e) {
                    System.out.println("请输入有效数字。");
                }
                break;

            case "quit":
                System.out.println("再见!");
                scanner.close();
                return;

            default:
                System.out.println("未知命令,请重新输入。");
        }
    }
}

}

4. 扩展建议

这个基础版本可以在以下方向继续增强:

  • 数据持久化:将任务保存到文件(如txt或JSON),重启后仍可加载。
  • 分类或优先级:为任务增加标签或优先级字段。
  • 图形界面:使用Swing或JavaFX构建GUI。
  • 异常处理优化:更细致地处理用户输入错误。

基本上就这些。不复杂但容易忽略细节,比如索引边界和输入校验。掌握这个例子后,可以逐步扩展成更完整的应用。

文中关于java,待办事项的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Java待办事项应用开发教程》文章吧,也可关注golang学习网公众号了解相关技术文章。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>