在Java中编写任务和待办事项程序可以通过使用面向对象的编程思想,结合Java的类和对象来实现。以下是一个简单的示例:
public class Task {
private String title;
private String description;
private Date deadline;
// 构造函数
public Task(String title, String description, Date deadline) {
this.title = title;
this.description = description;
this.deadline = deadline;
}
// 获取任务标题
public String getTitle() {
return title;
}
// 获取任务描述
public String getDescription() {
return description;
}
// 获取任务截止日期
public Date getDeadline() {
return deadline;
}
}
import java.util.ArrayList;
import java.util.List;
public class TodoList {
private List<Task> tasks;
// 构造函数
public TodoList() {
tasks = new ArrayList<>();
}
// 添加任务
public void addTask(Task task) {
tasks.add(task);
}
// 获取所有任务
public List<Task> getAllTasks() {
return tasks;
}
// 根据标题查找任务
public Task findTaskByTitle(String title) {
for (Task task : tasks) {
if (task.getTitle().equals(title)) {
return task;
}
}
return null;
}
// 删除任务
public void deleteTask(Task task) {
tasks.remove(task);
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
TodoList todoList = new TodoList();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. 添加任务");
System.out.println("2. 查看所有任务");
System.out.println("3. 根据标题查找任务");
System.out.println("4. 删除任务");
System.out.println("0. 退出");
System.out.print("请输入操作编号:");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
System.out.print("请输入任务标题:");
String title = scanner.nextLine();
System.out.print("请输入任务描述:");
String description = scanner.nextLine();
System.out.print("请输入任务截止日期(yyyy-MM-dd):");
String deadlineStr = scanner.nextLine();
try {
Date deadline = new SimpleDateFormat("yyyy-MM-dd").parse(deadlineStr);
Task task = new Task(title, description, deadline);
todoList.addTask(task);
System.out.println("任务添加成功!");
} catch (ParseException e) {
System.out.println("日期格式错误!");
}
break;
case 2:
List<Task> allTasks = todoList.getAllTasks();
System.out.println("所有任务:");
for (Task task : allTasks) {
System.out.println("标题:" + task.getTitle());
System.out.println("描述:" + task.getDescription());
System.out.println("截止日期:" + task.getDeadline());
System.out.println("--------------");
}
break;
case 3:
System.out.print("请输入任务标题:");
String searchTitle = scanner.nextLine();
Task foundTask = todoList.findTaskByTitle(searchTitle);
if (foundTask != null) {
System.out.println("标题:" + foundTask.getTitle());
System.out.println("描述:" + foundTask.getDescription());
System.out.println("截止日期:" + foundTask.getDeadline());
} else {
System.out.println("未找到相关任务!");
}
break;
case 4:
System.out.print("请输入任务标题:");
String deleteTitle = scanner.nextLine();
Task deleteTask = todoList.findTaskByTitle(deleteTitle);
if (deleteTask != null) {
todoList.deleteTask(deleteTask);
System.out.println("任务删除成功!");
} else {
System.out.println("未找到相关任务!");
}
break;
case 0:
System.out.println("程序已退出!");
System.exit(0);
default:
System.out.println("无效操作!");
}
System.out.println();
}
}
}
这个程序使用了一个任务类(Task)表示每个待办事项,包含标题、描述和截止日期属性。待办事项列表类(TodoList)维护了一个任务列表,并提供了添加、查找、删除任务等功能。主程序类(Main)为用户提供了菜单选项,并根据用户的选择执行相应的操作。
注意:这只是一个简单示例,实际开发中可能需要更多的功能和优化,如数据持久化存储、用户界面等。另外,你还可以结合其他技术和框架来实现更复杂的任务和待办事项程序,如使用Spring框架实现RESTful API、使用数据库存储任务数据等。
如果你需要使用腾讯云相关产品来支持你的程序,可以考虑以下产品:
你可以在腾讯云官方网站上找到更详细的产品介绍和使用指南。
领取专属 10元无门槛券
手把手带您无忧上云