答案:通过设计Task、TaskGroup和TaskManager三个类,使用Map和List存储数据,实现任务分组的增删改查及任务状态标记,构建了一个基于控制台的简易任务管理系统。

在Java中开发一个简易的项目任务分组管理功能,核心在于合理设计数据结构、实现基本的增删改查操作,并通过清晰的类划分提升代码可维护性。下面从需求分析到代码实现,一步步带你完成这个小项目。
任务分组管理的功能需求
我们要实现的是一个本地运行的控制台程序,支持以下基础功能:
- 创建任务分组(如“前端开发”、“测试任务”)
- 向指定分组添加任务
- 查看所有分组及对应的任务列表
- 删除某个任务或整个分组
- 标记任务为完成状态
不需要数据库,使用Java集合类即可完成存储管理。
核心类设计与数据模型
为了结构清晰,我们定义两个主要类:
立即学习“Java免费学习笔记(深入)”;
Task 类:表示单个任务
- 包含字段:id(唯一标识)、title(任务标题)、completed(是否完成)
- 提供构造方法和 getter/setter
TaskGroup 类:表示任务分组
- 包含字段:groupId、groupName、tasks(List)
- 提供添加任务、删除任务、查询任务等方法
TaskManager 类:主控制器
- 维护一个 Map 来保存所有分组
- 提供全局操作接口,如创建分组、显示全部、删除分组等
关键代码实现示例
以下是核心部分的代码片段:
Task.java
public class Task {
private String id;
private String title;
private boolean completed;
public Task(String id, String title) {
this.id = id;
this.title = title;
this.completed = false;
}
// getter 和 setter 省略
}
TaskGroup.java
public class TaskGroup {
private String groupId;
private String groupName;
private List tasks;
public TaskGroup(String groupId, String groupName) {
this.groupId = groupId;
this.groupName = groupName;
this.tasks = new ArrayList();
}
public void addTask(Task task) {
tasks.add(task);
}
public void removeTask(String taskId) {
tasks.removeIf(t -> t.getId().equals(taskId));
}
public void displayTasks() {
System.out.println("【" + groupName + "】");
for (Task task : tasks) {
String status = task.isCompleted() ? "✅" : "⭕";
System.out.println(" " + status + " " + task.getTitle());
}
}
}
TaskManager.java
public class TaskManager {
private Map groups = new HashMap();
public void createGroup(String groupId, String groupName) {
if (!groups.containsKey(groupId)) {
groups.put(groupId, new TaskGroup(groupId, groupName));
System.out.println("✅ 分组创建成功:" + groupName);
} else {
System.out.println("❌ 分组已存在!");
}
}
public void addTaskToGroup(String groupId, Task task) {
TaskGroup group = groups.get(groupId);
if (group != null) {
group.addTask(task);
System.out.println("✅ 任务加入分组:" + task.getTitle());
} else {
System.out.println("❌ 分组不存在!");
}
}
public void showAll() {
for (TaskGroup group : groups.values()) {
group.displayTasks();
}
}
}
控制台交互入口(Main方法)
在 main 方法中模拟用户操作流程:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
TaskManager manager = new TaskManager();
manager.createGroup("dev", "开发任务");
manager.createGroup("test", "测试任务");
Task t1 = new Task("t001", "编写登录接口");
manager.addTaskToGroup("dev", t1);
Task t2 = new Task("t002", "编写单元测试");
manager.addTaskToGroup("test", t2);
manager.showAll();
}
输出效果示例:
【开发任务】
⭕ 编写登录接口
【测试任务】
⭕ 编写单元测试
基本上就这些。通过简单的面向对象设计,就能快速搭建出一个可扩展的任务分组管理系统。后续可以加入文件持久化、命令解析或图形界面来增强实用性。
以上就是在Java中如何开发简易项目任务分组管理_任务分组管理项目实战解析的详细内容,更多请关注php中文网其它相关文章!