if (newStatus == 1){ if (oldStatus == -1){ //添加任务 addSchedule(schedule); } if (oldStatus == 1){ //删除任务 removeSchedule(scheduleOld); //添加任务 addSchedule(schedule); } return; } 优化这段代码
时间: 2024-02-10 11:11:58 浏览: 75
可以考虑将if语句的嵌套层级降低,优化代码如下:
```
if (newStatus == 1 && oldStatus == -1) {
// 添加任务
addSchedule(schedule);
} else if (newStatus == 1 && oldStatus == 1) {
// 删除任务
removeSchedule(scheduleOld);
// 添加任务
addSchedule(schedule);
}
```
这样,两个if语句的逻辑可以在同一个if-else语句中完成,降低了代码的嵌套层级。
相关问题
import java.util.*;public class Schedule { // Map 用于存储课程安排信息 private Map<String, List<String>> schedule; public Schedule() { this.schedule = new HashMap<>(); } // 添加课程信息 public void addSchedule(String time, String course, String classroom) { if (schedule.containsKey(time)) { List<String> courses = schedule.get(time); if (courses.contains(course) || courses.contains(classroom)) { System.out.println("Error: Course or classroom already scheduled at this time."); } else { courses.add(course); courses.add(classroom); schedule.put(time, courses); System.out.println("Schedule added successfully."); } } else { List<String> courses = new ArrayList<>(); courses.add(course); courses.add(classroom); schedule.put(time, courses); System.out.println("Schedule added successfully."); } } // 获取课程安排信息 public List<String> getSchedule(String time) { if (schedule.containsKey(time)) { return schedule.get(time); } else { return null; } } public static void main(String[] args) { Schedule schedule = new Schedule(); schedule.addSchedule("Monday 9:00", "Math", "Room 101"); schedule.addSchedule("Monday 9:00", "Physics", "Room 102"); schedule.addSchedule("Monday 10:00", "English", "Room 103"); List<String> monday_9 = schedule.getSchedule("Monday 9:00"); System.out.println("Monday 9:00 schedule: " + monday_9.toString()); }}请将每一句代码解释一下
这是一个Java程序,名为Schedule,用于存储和获取课程安排信息。下面是代码的解释:
```java
import java.util.*; // 导入Java工具包
public class Schedule { // 定义一个名为Schedule的类
// Map 用于存储课程安排信息
private Map<String, List<String>> schedule;
// 类的构造函数,用于初始化schedule
public Schedule() {
this.schedule = new HashMap<>();
}
// 添加课程信息
public void addSchedule(String time, String course, String classroom) {
if (schedule.containsKey(time)) { // 判断时间是否已经被占用
List<String> courses = schedule.get(time); // 获取该时间段已经占用的课程信息
if (courses.contains(course) || courses.contains(classroom)) {
// 判断该课程或教室是否已经被占用
System.out.println("Error: Course or classroom already scheduled at this time.");
} else {
courses.add(course);
courses.add(classroom);
schedule.put(time, courses); // 将课程信息添加到schedule中
System.out.println("Schedule added successfully.");
}
} else {
List<String> courses = new ArrayList<>();
courses.add(course);
courses.add(classroom);
schedule.put(time, courses); // 将课程信息添加到schedule中
System.out.println("Schedule added successfully.");
}
}
// 获取课程安排信息
public List<String> getSchedule(String time) {
if (schedule.containsKey(time)) {
return schedule.get(time); // 返回该时间段的课程信息
} else {
return null; // 如果该时间段没有课程信息,则返回null
}
}
// 主函数
public static void main(String[] args) {
Schedule schedule = new Schedule(); // 创建一个Schedule对象
schedule.addSchedule("Monday 9:00", "Math", "Room 101"); // 添加课程信息
schedule.addSchedule("Monday 9:00", "Physics", "Room 102");
schedule.addSchedule("Monday 10:00", "English", "Room 103");
List<String> monday_9 = schedule.getSchedule("Monday 9:00"); // 获取课程信息
System.out.println("Monday 9:00 schedule: " + monday_9.toString()); // 打印课程信息
}
}
```
Java万年历代码,功能要求:使用图形用户界面,能显示月历,用户可以更改月份和年份,带有日程提醒功能。用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。(1)定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。(2)查询信息:用户可以查询到某个月的所有的提示信息。能够显示系统时间。能够设置闹钟。能够查询若干国际大城市(分布在不同时区)的时间。
这是一个比较复杂的Java程序,需要使用Swing GUI库和一些其他的Java类库来实现。以下是一个简单的代码框架,可以根据需要进行修改和完善:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.*;
public class CalendarGUI extends JFrame implements ActionListener {
private JLabel monthLabel, yearLabel, dateLabel, timeLabel;
private JButton prevButton, nextButton, addButton, deleteButton, editButton, searchButton, alarmButton;
private JTextField searchField;
private JComboBox<String> cityComboBox;
private JTable calendarTable;
private JScrollPane scrollPane;
private Calendar calendar;
private SimpleDateFormat dateFormat;
private Timer timer;
public CalendarGUI() {
// 初始化界面
// ...
// 初始化日历
calendar = Calendar.getInstance();
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
updateCalendar();
// 启动定时器
timer = new Timer(1000, this);
timer.start();
}
private void updateCalendar() {
// 更新日历表格
// ...
}
private void addSchedule() {
// 添加提醒信息
// ...
}
private void deleteSchedule() {
// 删除提醒信息
// ...
}
private void editSchedule() {
// 编辑提醒信息
// ...
}
private void searchSchedule() {
// 查询提醒信息
// ...
}
private void alarm() {
// 检查提醒信息并弹出对话框
// ...
}
private void updateTime() {
// 更新系统时间和时钟
// ...
}
@Override
public void actionPerformed(ActionEvent e) {
// 处理按钮事件和定时器事件
// ...
}
public static void main(String[] args) {
// 启动程序
CalendarGUI gui = new CalendarGUI();
gui.setVisible(true);
}
}
```
这只是一个简单的代码框架,具体实现还需要根据要求进行修改和完善。需要注意的是,日历表格、提醒信息、系统时间、时钟和闹钟等功能都可以使用Java Swing和其他的Java类库来实现。
阅读全文