用Java实现:某宾馆企业开发一个系统,其中有这样一段要求:房间定价问题,若原价为150元,9~12,2~5月为旺季,旺季标间打8.5折,双人间打7.5折;淡季标间打7折,双人间打6折。编写程序,根据月份和选择的房间输出实际的定房价格。
时间: 2024-09-12 22:10:05 浏览: 28
要用Java实现这个宾馆房间定价系统,我们首先需要定义两个类:一个是`Room`类,用来表示房间的基本信息;另一个是`PricingSystem`类,用来根据月份和房间类型计算价格。下面是一个简单的实现示例:
```java
// 房间类,包含房间类型和基本价格
class Room {
private String type; // "标间" 或 "双人间"
private double price; // 房间的原价,默认为150元
public Room(String type) {
this.type = type;
this.price = 150;
}
public String getType() {
return type;
}
public double getPrice() {
return price;
}
}
// 定价系统类,根据月份和房间类型计算实际价格
public class PricingSystem {
public double calculatePrice(Room room, int month) {
double discountRate;
// 判断旺季或淡季,并设置相应的折扣率
if ((month >= 9 && month <= 12) || (month >= 2 && month <= 5)) {
if ("标间".equals(room.getType())) {
discountRate = 0.85; // 标间旺季折扣
} else {
discountRate = 0.75; // 双人间旺季折扣
}
} else {
if ("标间".equals(room.getType())) {
discountRate = 0.70; // 标间淡季折扣
} else {
discountRate = 0.60; // 双人间淡季折扣
}
}
return room.getPrice() * discountRate;
}
public static void main(String[] args) {
PricingSystem system = new PricingSystem();
Room standardRoom = new Room("标间");
Room doubleRoom = new Room("双人间");
int currentMonth = 3; // 假设当前月份为3月(旺季)
double standardRoomPrice = system.calculatePrice(standardRoom, currentMonth);
double doubleRoomPrice = system.calculatePrice(doubleRoom, currentMonth);
System.out.println("标间价格: " + standardRoomPrice);
System.out.println("双人间价格: " + doubleRoomPrice);
}
}
```
在上述代码中,我们首先定义了`Room`类,它有两个属性:`type`(房间类型)和`price`(房间的基本价格,默认为150元)。然后在`PricingSystem`类中定义了`calculatePrice`方法,它接受一个`Room`对象和一个整数月份作为参数,并根据旺季或淡季以及房间类型计算出实际的价格。
在`main`方法中,我们创建了`PricingSystem`的一个实例和两种类型的`Room`对象。我们假设当前月份为3月(旺季),然后调用`calculatePrice`方法来计算并输出标间和双人间的实际价格。
阅读全文