以下是使用Java语言实现的一个简单的日程管理系统的代码: ```java import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.time.LocalDate; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.Scanner; class Event { private String name; private LocalDate date; private LocalTime time; private String location; private String reminder; public Event(String name, LocalDate date, LocalTime time, String location, String reminder) { this.name = name; this.date = date; this.time = time; this.location = location; this.reminder = reminder; } public String getName() { return name; } public LocalDate getDate() { return date; } public LocalTime getTime() { return time; } public String getLocation() { return location; } public String getReminder() { return reminder; } @Override public String toString() { return "Event{" + "name='" + name + '\'' + ", date=" + date + ", time=" + time + ", location='" + location + '\'' + ", reminder='" + reminder + '\'' + '}'; } } public class ScheduleManager { private static final String FILE_PATH = "schedule.txt"; private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); private static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm"); private List<Event> events; public ScheduleManager() { events = new ArrayList<>(); loadEvents(); } private void loadEvents() { try (BufferedReader reader = new BufferedReader(new FileReader(FILE_PATH))) { String line; while ((line = reader.readLine()) != null) { String[] parts = line.split(","); String name = parts[0]; LocalDate date = LocalDate.parse(parts[1], DATE_FORMATTER); LocalTime time = LocalTime.parse(parts[2], TIME_FORMATTER); String location = parts[3]; String reminder = parts[4]; Event event = new Event(name, date, time, location, reminder); events.add(event); } } catch (IOException e) { System.out.println("无法读取日程文件"); } } private void saveEvents() { try (BufferedWriter writer = new BufferedWriter(new FileWriter(FILE_PATH))) { for (Event event : events) { writer.write(event.getName() + "," + event.getDate().format(DATE_FORMATTER) + "," + event.getTime().format(TIME_FORMATTER) + "," + event.getLocation() + "," + event.getReminder()); writer.newLine(); } } catch (IOException e) { System.out.println("无法保存日程文件"); } } private void printEventDetails(Event event) { System.out.println("事件名称: " + event.getName()); System.out.println("日期: " + event.getDate()); System.out.println("时间: " + event.getTime()); System.out.println("地点: " + event.getLocation()); System.out.println("提醒方式: " + event.getReminder()); System.out.println(); } public void addEvent() { Scanner scanner = new Scanner(System.in); System.out.print("请输入事件名称: "); String name = scanner.nextLine(); System.out.print("请输入日期(格式:yyyy-MM-dd): "); LocalDate date = LocalDate.parse(scanner.nextLine(), DATE_FORMATTER); System.out.print("请输入时间(格式:HH:mm): "); LocalTime time = LocalTime.parse(scanner.nextLine(), TIME_FORMATTER); System.out.print("请输入地点: "); String location = scanner.nextLine(); System.out.print("请输入提醒方式: "); String reminder = scanner.nextLine(); Event event = new Event(name, date, time, location, reminder); events.add(event); saveEvents(); System.out.println("事件已添加"); } public void deleteEvent() { Scanner scanner = new Scanner(System.in); System.out.print("请输入要删除的事件名称: "); String name = scanner.nextLine(); boolean found = false; for (Event event : events) { if (event.getName().equals(name)) { events.remove(event); found = true; break; } } if (found) { saveEvents(); System.out.println("事件已删除"); } else { System.out.println("未找到要删除的事件"); } } public void searchEventByDate() { Scanner scanner = new Scanner(System.in); System.out.print("请输入日期(格式:yyyy-MM-dd): "); LocalDate date = LocalDate.parse(scanner.nextLine(), DATE_FORMATTER); boolean found = false; for (Event event : events) { if (event.getDate().equals(date)) { printEventDetails(event); found = true; } } if (!found) { System.out.println("未找到该日期的事件"); } } public void searchEventByName() { Scanner scanner = new Scanner(System.in); System.out.print("请输入事件名称: "); String name = scanner.nextLine(); boolean found = false; for (Event event : events) { if (event.getName().equals(name)) { printEventDetails(event); found = true; } } if (!found) { System.out.println("未找到该名称的事件"); } } public void showTodayEvents() { LocalDate today = LocalDate.now(); System.out.println("今天的日程安排:"); for (Event event : events) { if (event.getDate().equals(today)) { printEventDetails(event); } } } public void showFutureEvents(int days) { LocalDate today = LocalDate.now(); LocalDate endDate = today.plusDays(days); System.out.println("未来 " + days + " 天的日程安排:"); for (Event event : events) { if (event.getDate().isAfter(today) && event.getDate().isBefore(endDate)) { printEventDetails(event); } } } public static void main(String[] args) { ScheduleManager scheduleManager = new ScheduleManager(); Scanner scanner = new Scanner(System.in); int choice; do { System.out.println("1. 添加日程事件"); System.out.println("2. 修改或删除日程事件"); System.out.println("3. 查询日程事件(按日期)"); System.out.println("4. 查询日程事件(按事件名称)"); System.out.println("5. 显示今日的日程安排"); System.out.println("6. 显示未来几天的日程安排"); System.out.println("7. 退出"); System.out.print("请选择一个选项: "); choice = scanner.nextInt(); scanner.nextLine(); // Consume newline character switch (choice) { case 1: scheduleManager.addEvent(); break; case 2: scheduleManager.deleteEvent(); break; case 3: scheduleManager.searchEventByDate(); break; case 4: scheduleManager.searchEventByName(); break; case 5: scheduleManager.showTodayEvents(); break; case 6: System.out.print("请输入未来几天的日程安排: "); int days = scanner.nextInt(); scanner.nextLine(); // Consume newline character scheduleManager.showFutureEvents(days); break; case 7: System.out.println("退出日程管理系统"); break; default: System.out.println("无效的选项"); } } while (choice != 7); } } ``` 请将以上代码保存为`ScheduleManager.java`文件,然后编译并运行该文件即可开始使用日程管理系统。日程事件将保存在一个名为`schedule.txt`的本地文本文件中。 [2024-06-03 20:02:47 | AI写代码神器 | 5818点数解答]