首先设计Task类封装任务信息,再通过TaskService实现增删改查,最后用Scanner构建控制台交互;扩展时可增加持久化、GUI等。

在Java中实现个人任务列表功能,核心是设计清晰的数据模型、合理的业务逻辑与用户交互方式。这个模块可用于待办事项管理、工作计划跟踪等场景。以下是开发该功能的实用指南,涵盖从数据结构到基本操作的完整流程。
定义任务实体类
任务列表的基础是一个任务(Task)类,用于封装每条任务的信息。常见的属性包括任务ID、标题、描述、优先级、完成状态和创建时间。
示例代码:
public class Task {
private int id;
private String title;
private String description;
private int priority; // 1:高, 2:中, 3:低
private boolean completed;
private long createdAt;
public Task(int id, String title, String description, int priority) {
this.id = id;
this.title = title;
this.description = description;
this.priority = priority;
this.completed = false;
this.createdAt = System.currentTimeMillis();
}
// Getter 和 Setter 方法省略,实际开发中需补全
}
实现任务管理服务
使用一个服务类来管理任务的增删改查操作。可以基于ArrayList存储任务,适合小型应用或学习用途。
立即学习“Java免费学习笔记(深入)”;
关键功能包括:
- 添加任务:生成唯一ID并加入列表
- 查看所有任务:返回当前所有任务
- 标记任务完成:根据ID更新状态
- 删除任务:按ID移除任务
- 按优先级排序:提供有序查看方式
示例方法片段:
import java.util.*;
public class TaskService {
private List tasks = new ArrayList<>();
private int nextId = 1;
public void addTask(String title, String description, int priority) {
Task task = new Task(nextId++, title, description, priority);
tasks.add(task);
}
public List getAllTasks() {
return new ArrayList<>(tasks);
}
public void markCompleted(int id) {
for (Task task : tasks) {
if (task.getId() == id) {
task.setCompleted(true);
break;
}
}
}
public void removeTask(int id) {
tasks.removeIf(task -> task.getId() == id);
}
public List getTasksSortedByPriority() {
List sorted = new ArrayList<>(tasks);
sorted.sort(Comparator.comparingInt(Task::getPriority));
return sorted;
}
}
添加用户交互界面
通过控制台实现简单交互,帮助测试功能。使用Scanner读取用户输入,并调用服务类方法。
基础菜单可包含:
- 1. 添加新任务
- 2. 查看所有任务
- 3. 标记任务为完成
- 4. 删除任务
- 5. 按优先级查看任务
- 0. 退出
在main方法中循环显示菜单,根据选择执行对应操作即可。
扩展建议
基础版本完成后,可逐步增强功能:
- 将数据持久化到文件(如JSON或CSV)避免重启丢失
- 使用数据库(如SQLite)支持更复杂查询
- 增加截止日期字段并实现提醒功能
- 引入GUI界面(Swing或JavaFX)提升体验
- 支持多用户隔离任务数据
基本上就这些。掌握这个模块的关键是理清对象职责:实体类负责数据,服务类处理逻辑,主程序负责交互。结构清晰后,后续扩展会更顺利。不复杂但容易忽略细节,比如ID唯一性、空值判断等,编码时注意健壮性。










