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

开发一个简易的任务提醒小程序,可以通过 Java 的基础功能实现定时提醒和任务管理。核心思路是使用 Java 的 Scanner 获取用户输入,用 Timer 和 TimerTask 实现延时提醒,任务信息可存储在内存集合中。下面是一个简单但完整的实现方案。
1. 定义任务模型(Task 类)
每个提醒任务包含基本信息:任务名称、提醒时间(延迟秒数)、是否已触发。
class Task { private String name; private long delay; // 延迟时间(毫秒) private boolean triggered; <pre class='brush:java;toolbar:false;'>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 是具体要执行的动作。
立即学习“Java免费学习笔记(深入)”;
import java.util.Timer; import java.util.TimerTask; <p>// 提醒任务执行体 class ReminderTask extends TimerTask { private Task task;</p><pre class='brush:java;toolbar:false;'>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; <p>public class SimpleReminder { private List<Task> tasks = new ArrayList<>(); private Timer timer = new Timer(); private Scanner scanner = new Scanner(System.in);</p><pre class='brush:java;toolbar:false;'>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 { delay = 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. 运行效果示例
运行程序后交互如下:
? 简易任务提醒程序启动! <p>请输入任务名称(输入 quit 退出): 写报告 请输入提醒延迟时间(秒): 5 ✅ 任务已设置:写报告,将在 5 秒后提醒。</p><p>请输入任务名称(输入 quit 退出): 开会 请输入提醒延迟时间(秒): 10 ✅ 任务已设置:开会,将在 10 秒后提醒。</p><p>请输入任务名称(输入 quit 退出): quit ? 程序结束,所有任务已提交。 ? 提醒:写报告 ? 提醒:开会</p>
基本上就这些。这个小程序适合学习 Java 多线程和定时任务的基础逻辑。后续可以扩展功能,比如支持具体时间提醒、持久化任务、图形界面等。不复杂但容易忽略的是关闭资源或处理异常输入,实际使用中建议增强健壮性。


