Java如何开发一个简易的任务提醒小程序

答案:该程序通过Scanner接收任务名和延迟时间,使用Timer与TimerTask实现延时提醒,任务信息存于List中;每创建一个任务即调度执行,到时输出提醒并标记为已触发,输入quit后退出循环但等待所有提醒完成。

开发一个简易的任务提醒小程序,可以通过 Java 的基础功能实现定时提醒和任务管理。核心思路是使用 Java 的 Scanner 获取用户输入,用 TimerTimerTask 实现延时提醒,任务信息可存储在内存集合中。下面是一个简单但完整的实现方案。

1. 定义任务模型(Task 类)

每个提醒任务包含基本信息:任务名称、提醒时间(延迟秒数)、是否已触发。

class Task {
    private String name;
    private long delay; // 延迟时间(毫秒)
    private boolean triggered;
public Task(String name, long delay) {
    this.name = name;
    this.delay = delay;
    this.triggered = false;
}

public String getName() {
    return name;
}

public long getDelay() {
    return delay;
}

public boolean isTriggered() {
    return triggered;
}

public void setTriggered(boolean triggered) {
    this.triggered = triggered;
}

}

2. 使用 Timer 实现定时提醒

Java 的 Timer 可以安排任务在未来某个时间点执行。TimerTask 是具体要执行的动作。

import java.util.Timer;
import java.util.TimerTask;

// 提醒任务执行体 class ReminderTask extends TimerTask { private Task task;

public ReminderTask(Task task) {
    this.task = task;
}

@Override
public void run() {
    System.out.println("? 提醒:" + task.getName());
    task.setTriggered(true);
}

}

3. 主程序:添加任务与调度

主类负责接收用户输入,创建任务并安排提醒。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Timer;

public class SimpleReminder { private List tasks = new ArrayList<>(); private Timer timer = new Timer(); private Scanner scanner = new Scanner(System.in);

public void start() {
    System.out.println("? 简易任务提醒程序启动!");

    while (true) {
        System.out.print("\n请输入任务名称(输入 quit 退出): ");
        String name = scanner.nextLine();

        if ("quit".equalsIgnoreCase(name)) {
            break;
        }

        System.out.print("请输入提醒延迟时间(秒): ");
        String delayStr = scanner.nextLine();
        long delay;
        try {
            del

ay = Long.parseLong(delayStr) * 1000; // 转为毫秒 } catch (NumberFormatException e) { System.out.println("⚠️ 输入无效,任务取消。"); continue; } Task task = new Task(name, delay); tasks.add(task); // 安排提醒 timer.schedule(new ReminderTask(task), delay); System.out.println("✅ 任务已设置:" + name + ",将在 " + (delay/1000) + " 秒后提醒。"); } System.out.println("? 程序结束,所有任务已提交。"); // 注意:程序不会立即退出,会等待所有提醒完成 } public static void main(String[] args) { new SimpleReminder().start(); }

}

4. 运行效果示例

运行程序后交互如下:

? 简易任务提醒程序启动!

请输入任务名称(输入 quit 退出): 写报告 请输入提醒延迟时间(秒): 5 ✅ 任务已设置:写报告,将在 5 秒后提醒。

请输入任务名称(输入 quit 退出): 开会 请输入提醒延迟时间(秒): 10 ✅ 任务已设置:开会,将在 10 秒后提醒。

请输入任务名称(输入 quit 退出): quit ? 程序结束,所有任务已提交。 ? 提醒:写报告 ? 提醒:开会

基本上就这些。这个小程序适合学习 Java 多线程和定时任务的基础逻辑。后续可以扩展功能,比如支持具体时间提醒、持久化任务、图形界面等。不复杂但容易忽略的是关闭资源或处理异常输入,实际使用中建议增强健壮性。