用JAVA给我写一个日程管理系统
时间: 2023-11-13 09:04:17 浏览: 111
好的,我可以为您提供一个简单的日程管理系统的JAVA代码框架,您可以根据您的需求进行修改和扩展:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class ScheduleManager {
private ArrayList<Schedule> schedules; // 用于存储日程的列表
public ScheduleManager() {
schedules = new ArrayList<Schedule>();
}
// 添加日程
public void addSchedule(Schedule s) {
schedules.add(s);
}
// 删除日程
public void removeSchedule(int index) {
schedules.remove(index);
}
// 编辑日程
public void editSchedule(int index, Schedule newSchedule) {
schedules.set(index, newSchedule);
}
// 获取所有日程
public ArrayList<Schedule> getSchedules() {
return schedules;
}
// 根据日期获取日程
public ArrayList<Schedule> getSchedulesByDate(String date) {
ArrayList<Schedule> result = new ArrayList<Schedule>();
for (Schedule s : schedules) {
if (s.getDate().equals(date)) {
result.add(s);
}
}
return result;
}
// 主函数,用于测试
public static void main(String[] args) {
ScheduleManager manager = new ScheduleManager();
Scanner scanner = new Scanner(System.in);
while (true) {
// 显示菜单
System.out.println("请选择操作:");
System.out.println("1. 添加日程");
System.out.println("2. 删除日程");
System.out.println("3. 编辑日程");
System.out.println("4. 查看所有日程");
System.out.println("5. 根据日期查看日程");
System.out.println("6. 退出");
// 获取用户输入
int choice = scanner.nextInt();
switch (choice) {
case 1:
// 添加日程
System.out.println("请输入日程名称:");
String name = scanner.next();
System.out.println("请输入日期(格式为YYYY-MM-DD):");
String date = scanner.next();
System.out.println("请输入时间(格式为HH:mm):");
String time = scanner.next();
Schedule s = new Schedule(name, date, time);
manager.addSchedule(s);
System.out.println("添加成功!");
break;
case 2:
// 删除日程
System.out.println("请输入要删除的日程编号:");
int index = scanner.nextInt();
manager.removeSchedule(index);
System.out.println("删除成功!");
break;
case 3:
// 编辑日程
System.out.println("请输入要编辑的日程编号:");
int index2 = scanner.nextInt();
System.out.println("请输入新的日程名称:");
String name2 = scanner.next();
System.out.println("请输入新的日期(格式为YYYY-MM-DD):");
String date2 = scanner.next();
System.out.println("请输入新的时间(格式为HH:mm):");
String time2 = scanner.next();
Schedule s2 = new Schedule(name2, date2, time2);
manager.editSchedule(index2, s2);
System.out.println("编辑成功!");
break;
case 4:
// 查看所有日程
ArrayList<Schedule> allSchedules = manager.getSchedules();
for (Schedule s3 : allSchedules) {
System.out.println(s3);
}
break;
case 5:
// 根据日期查看日程
System.out.println("请输入日期(格式为YYYY-MM-DD):");
String date3 = scanner.next();
ArrayList<Schedule> schedulesByDate = manager.getSchedulesByDate(date3);
for (Schedule s4 : schedulesByDate) {
System.out.println(s4);
}
break;
case 6:
// 退出
System.out.println("谢谢使用!");
System.exit(0);
default:
System.out.println("无效的选项,请重新选择!");
break;
}
}
}
}
class Schedule {
private String name; // 日程名称
private String date; // 日期
private String time; // 时间
public Schedule(String name, String date, String time) {
this.name = name;
this.date = date;
this.time = time;
}
public String getName() {
return name;
}
public String getDate() {
return date;
}
public String getTime() {
return time;
}
public String toString() {
return String.format("%s\t%s\t%s", name, date, time);
}
}
```
在这个代码框架中,我们定义了一个 `ScheduleManager` 类来管理日程,其中包含了添加、删除、编辑、获取所有日程和根据日期获取日程等方法。我们还定义了一个 `Schedule` 类来表示一个日程,包含了日程名称、日期和时间。在 `ScheduleManager` 的主函数中,我们使用一个无限循环来不断显示菜单,并根据用户的选择执行相应的操作。
当用户选择添加日程时,我们会提示用户输入日程名称、日期和时间,并创建一个 `Schedule` 对象来表示这个日程,然后调用 `addSchedule` 方法将其添加到日程列表中。当用户选择删除或编辑日程时,我们会提示用户输入日程编号,并根据用户输入的编号调用 `removeSchedule` 或 `editSchedule` 方法来删除或编辑日程。当用户选择查看所有日程时,我们会调用 `getSchedules` 方法来获取所有日程,并将其输出到控制台上。当用户选择根据日期查看日程时,我们会提示用户输入日期,并调用 `getSchedulesByDate` 方法来获取该日期下的所有日程,并将其输出到控制台上。当用户选择退出时,我们会调用 `System.exit` 方法来退出程序。
注意:以上代码框架仅供参考,您需要根据您的实际需求进行修改和扩展。
阅读全文
相关推荐


















