首先设计Todo类封装任务属性,包括ID、标题、完成状态和创建时间,并提供相应方法;接着实现TodoService类管理任务的增删改查,使用ArrayList存储数据并自动生成ID;然后通过Scanner创建命令行交互界面,支持用户添加、查看、标记完成和删除任务;最后可扩展文件持久化、搜索、优先级、提醒等功能。该应用帮助掌握Java面向对象编程与基础数据管理。

开发一个Todo待办事项应用是学习Java面向对象编程和基础数据管理的好项目。你可以从命令行版本开始,逐步扩展到图形界面或Web应用。以下是实现一个基础但完整的命令行Todo应用的步骤和关键代码结构。
1. 设计Todo实体类
每个待办事项应包含基本信息,如ID、任务内容、是否完成和创建时间。
使用一个Todo类来封装任务属性提供构造函数、getter/setter和toString方法
public class Todo { private int id; private String title; private boolean completed; private long createdAt; public Todo(int id, String title) { this.id = id; this.title = title; this.completed = false; this.createdAt = System.currentTimeMillis(); } // getter 和 setter 方法 public int getId() { return id; } public String getTitle() { return title; } public boolean isCompleted() { return completed; } public void setCompleted(boolean completed) { this.completed = completed; } @Override public String toString() { return "[" + id + "] " + title + " - " + (completed ? "已完成" : "未完成"); }}
2. 实现Todo管理服务
使用ArrayList存储任务,提供增删改查功能。
添加任务:自动生成ID列出所有任务标记任务为完成删除任务
import java.util.ArrayList;import java.util.List;public class TodoService { private List todos = new ArrayList(); private int nextId = 1; public void addTodo(String title) { todos.add(new Todo(nextId++, title)); } public void listTodos() { if (todos.isEmpty()) { System.out.println("暂无待办事项。"); return; } for (Todo todo : todos) { System.out.println(todo); } } public void markAsDone(int id) { for (Todo todo : todos) { if (todo.getId() == id) { todo.setCompleted(true); System.out.println("已标记为完成:" + todo.getTitle()); return; } } System.out.println("未找到ID为 " + id + " 的任务。"); } public void deleteTodo(int id) { boolean removed = todos.removeIf(todo -> todo.getId() == id); if (removed) { System.out.println("任务已删除。"); } else { System.out.println("未找到该任务。"); } }}
3. 创建用户交互界面(命令行)
使用Scanner读取用户输入,提供简单菜单操作。
立即学习“Java免费学习笔记(深入)”;
import java.util.Scanner;public class TodoApp { public static void main(String[] args) { TodoService service = new TodoService(); Scanner scanner = new Scanner(System.in); boolean running = true; System.out.println("=== Todo 应用 ==="); while (running) { System.out.println("n请选择操作:"); System.out.println("1. 添加任务"); System.out.println("2. 查看所有任务"); System.out.println("3. 标记任务为完成"); System.out.println("4. 删除任务"); System.out.println("5. 退出"); int choice = scanner.nextInt(); scanner.nextLine(); // 消费换行符 switch (choice) { case 1: System.out.print("请输入任务内容:"); String title = scanner.nextLine(); service.addTodo(title); break; case 2: service.listTodos(); break; case 3: System.out.print("请输入要完成的任务ID:"); int doneId = scanner.nextInt(); service.markAsDone(doneId); break; case 4: System.out.print("请输入要删除的任务ID:"); int delId = scanner.nextInt(); service.deleteTodo(delId); break; case 5: running = false; System.out.println("再见!"); break; default: System.out.println("无效选择,请重试。"); } } scanner.close(); }}
4. 扩展建议
基础功能完成后,可以逐步增强应用能力。
持久化:将任务保存到文件(如JSON或CSV)搜索功能:按关键词查找任务优先级支持:为任务添加高/中/低优先级日期提醒:支持截止时间图形界面:使用Swing或JavaFXWeb版本:结合Spring Boot开发REST API
基本上就这些。从这个简单的控制台应用出发,你能掌握Java核心语法、集合操作和基本设计思路,为进一步开发打下坚实基础。
以上就是如何在Java中开发Todo待办事项应用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/66018.html
微信扫一扫
支付宝扫一扫