用Java实现:某宾馆企业开发一个系统,其中有这样一段要求:房间定价问题,若原价为150元,9~12,2~5月为旺季,旺季标间打8.5折,双人间打7.5折;淡季标间打7折,双人间打6折。
时间: 2024-09-12 07:10:08 浏览: 36
在Java中实现宾馆房间定价的逻辑,可以通过定义一个类来表示房间,并在该类中添加一个方法用于计算房间价格。这个方法将根据当前的月份和房间类型来应用不同的折扣。以下是一个简单的示例:
```java
public class Room {
private double originalPrice;
private String roomType;
private int month;
// 构造方法,初始化房间的原价、类型和月份
public Room(double originalPrice, String roomType, int month) {
this.originalPrice = originalPrice;
this.roomType = roomType;
this.month = month;
}
// 计算房间的折后价格
public double calculateDiscountedPrice() {
double discountRate;
// 根据月份判断旺季或淡季,并应用相应的折扣率
if ((month >= 9 && month <= 12) || (month >= 2 && month <= 5)) {
// 旺季
if ("标间".equals(roomType)) {
discountRate = 0.85;
} else if ("双人间".equals(roomType)) {
discountRate = 0.75;
} else {
discountRate = 1; // 如果房间类型不是标间或双人间,则不打折
}
} else {
// 淡季
if ("标间".equals(roomType)) {
discountRate = 0.7;
} else if ("双人间".equals(roomType)) {
discountRate = 0.6;
} else {
discountRate = 1; // 如果房间类型不是标间或双人间,则不打折
}
}
// 返回折后价格
return originalPrice * discountRate;
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
// 创建房间实例,原价150元,是标间,当前月份为3月(旺季)
Room room = new Room(150, "标间", 3);
// 输出折后价格
System.out.println("房间的折后价格是:" + room.calculateDiscountedPrice());
}
}
```
在这个示例中,`Room` 类有两个属性:`originalPrice`(原价)和`roomType`(房间类型),以及一个方法`calculateDiscountedPrice()`用于计算折后价格。构造方法允许在创建`Room`对象时设置这些属性。`calculateDiscountedPrice()`方法会根据月份和房间类型应用不同的折扣。
阅读全文