JAVA1.航班计算问题。设某航班周一、三、四、六飞行,当客户订票时如何根据客户的需求“星期几”获知该日是否有航班
时间: 2024-09-10 11:14:52 浏览: 20
在Java中处理航班计算问题,特别是关于星期几的查询,你可以创建一个航班类(Flight)和一个日期枚举(DayOfWeek),结合条件判断来解决这个问题。以下是简单的步骤:
1. **创建航班类 Flight**:
```java
public class Flight {
private DayOfWeek flightDays;
// 构造函数,初始化飞行天数
public Flight(DayOfWeek... days) {
this.flightDays = java.util.Arrays.asList(days);
}
// 检查指定日期是否有航班
public boolean isAvailableOn(DayOfWeek day) {
return flightDays.contains(day);
}
}
```
2. **创建DayOfWeek枚举**:
```java
public enum DayOfWeek {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
```
3. **处理客户订票请求**:
```java
public void checkBooking(Date requestedDate, Customer customer) {
Flight flight = getFlight(customer.getDesiredDay()); // 获取对应需求的航班
if (flight.isAvailableOn(requestedDate.getDayOfWeek())) {
System.out.println("有航班!");
} else {
System.out.println("今天没有航班!");
}
}
// 客户类,包含客户的旅行偏好
public class Customer {
private DayOfWeek desiredDay;
// 构造函数和getter/setter...
}
```
4. **获取航班实例**:
```java
private Flight getFlight(DayOfWeek desiredDay) {
// 根据客户需求从数据库或配置文件中查找对应的航班实例
// 或者直接基于预定义的航班规则创建一个Flight实例
}
```
阅读全文