讲师中心 微信公众号
AI工具推荐 视频效率加速

Java中如何创建一个小型任务跟踪项目

星婷吖_2790

星婷吖_2790

发布时间:2025-10-29 15:01:02

|

677人浏览过

|

来源于php中文网

原创

答案:项目包含Task类定义任务属性和方法,TaskManager类管理任务列表并提供增删改查功能,Main类实现用户交互界面。

java中如何创建一个小型任务跟踪项目

在Java中创建一个小型任务跟踪项目,重点是结构清晰、功能实用。你可以用面向对象的方式设计程序,不依赖框架,适合初学者练习或小型应用。

1. 定义任务类(Task)

每个任务应包含基本信息,如ID、标题、描述、状态和截止日期。

public class Task {
    private int id;
    private String title;
    private String description;
    private String status; // 如 "待办"、"进行中"、"已完成"
    private String dueDate;

    public Task(int id, String title, String description, String status, String dueDate) {
        this.id = id;
        this.title = title;
        this.description = description;
        this.status = status;
        this.dueDate = dueDate;
    }

    // Getter 和 Setter 方法
    public int getId() { return id; }
    public String getTitle() { return title; }
    public String getDescription() { return description; }
    public String getStatus() { return status; }
    public String getDueDate() { return dueDate; }

    public void setStatus(String status) { this.status = status; }

    @Override
    public String toString() {
        return "ID: " + id + " | 标题: " + title + " | 状态: " + status + " | 截止日期: " + dueDate;
    }
}

2. 创建任务管理类(TaskManager)

使用ArrayList存储任务,提供增删改查功能。

记录数据一键导出 Excel/CSV(带样式)
记录数据一键导出 Excel/CSV(带样式)

把记录数组导出为带样式的 Excel(xlsx) 或带 BOM 的 CSV。支持列配置(表头/宽度/顺序)、表头冻结首行、斑马纹、布尔值转「是/否」、数组换行、CSV 中文防乱码。零依赖。触发词:导出 Excel、导出 CSV、记录转表格、列配置导出、数据导出、表格美化、JSON 转表格。

下载
import java.util.ArrayList;
import java.util.List;

public class TaskManager {
    private List<Task> tasks;
    private int nextId;

    public TaskManager() {
        tasks = new ArrayList<>();
        nextId = 1;
    }

    // 添加任务
    public void addTask(String title, String description, String dueDate) {
        Task task = new Task(nextId++, title, description, "待办", dueDate);
        tasks.add(task);
        System.out.println("任务已添加: " + task.getTitle());
    }

    // 查看所有任务
    public void viewAllTasks() {
        if (tasks.isEmpty()) {
            System.out.println("暂无任务");
            return;
        }
        for (Task task : tasks) {
            System.out.println(task);
        }
    }

    // 根据ID查找任务
    private Task findTaskById(int id) {
        return tasks.stream().filter(t -> t.getId() == id).findFirst().orElse(null);
    }

    // 更新任务状态
    public void updateStatus(int id, String status) {
        Task task = findTaskById(id);
        if (task != null) {
            task.setStatus(status);
            System.out.println("任务状态已更新为: " + status);
        } else {
            System.out.println("未找到ID为 " + id + " 的任务");
        }
    }

    // 删除任务
    public void deleteTask(int id) {
        boolean removed = tasks.removeIf(t -> t.getId() == id);
        if (removed) {
            System.out.println("任务已删除");
        } else {
            System.out.println("未找到该任务");
        }
    }
}

3. 主程序入口(Main)

通过控制台与用户交互,调用TaskManager方法。

立即学习“Java免费学习笔记(深入)”;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        TaskManager manager = new TaskManager();
        Scanner scanner = new Scanner(System.in);
        boolean running = true;

        System.out.println("欢迎使用任务跟踪系统");

        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();
                    System.out.print("请输入任务描述: ");
                    String desc = scanner.nextLine();
                    System.out.print("请输入截止日期 (YYYY-MM-DD): ");
                    String date = scanner.nextLine();
                    manager.addTask(title, desc, date);
                    break;

                case 2:
                    manager.viewAllTasks();
                    break;

                case 3:
                    System.out.print("请输入任务ID: ");
                    int id = scanner.nextInt();
                    System.out.print("请输入新状态 (待办/进行中/已完成): ");
                    String status = scanner.next();
                    manager.updateStatus(id, status);
                    break;

                case 4:
                    System.out.print("请输入要删除的任务ID: ");
                    int delId = scanner.nextInt();
                    manager.deleteTask(delId);
                    break;

                case 5:
                    running = false;
                    System.out.println("再见!");
                    break;

                default:
                    System.out.println("无效选择,请重试");
            }
        }
        scanner.close();
    }
}

4. 扩展建议

这个基础版本可以继续优化:

  • 将任务数据保存到文件(如JSON或CSV),重启后仍可读取
  • 添加优先级字段(高、中、低)
  • 按状态或截止日期筛选任务
  • 使用SimpleDateFormat校验日期格式
  • 引入JUnit编写测试用例
基本上就这些。这个项目结构简单,能帮助你掌握类设计、集合操作和用户交互,是学习Java的很好实践。

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2235

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3582

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1196

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4119

2025.09.10

软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

4970

2023.10.13

java测试工具有哪些
java测试工具有哪些

java测试工具有JUnit、TestNG、Mockito、Selenium、Apache JMeter和Cucumber。php还给大家带来了java有关的教程,欢迎大家前来学习阅读,希望对大家能有所帮助。

3381

2023.10.23

Java 单元测试
Java 单元测试

本专题聚焦 Java 在软件测试与持续集成流程中的实战应用,系统讲解 JUnit 单元测试框架、Mock 数据、集成测试、代码覆盖率分析、Maven 测试配置、CI/CD 流水线搭建(Jenkins、GitHub Actions)等关键内容。通过实战案例(如企业级项目自动化测试、持续交付流程搭建),帮助学习者掌握 Java 项目质量保障与自动化交付的完整体系。

1186

2025.10.24

go语言 面向对象
go语言 面向对象

本专题整合了go语言面向对象相关内容,阅读专题下面的文章了解更多详细内容。

7195

2025.09.05

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

0

2026.11.02

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn