旅游景点为吸引游客,旺季和淡季门票价格不同,旺季为每年5-10月份,门票价格为120元,淡季门票价格是80元。不论是旺季还是淡季,65岁以上老人免票,14岁以下儿童半价,其余游客全价。用java写
时间: 2024-09-09 08:03:52 浏览: 109
在Java中,你可以通过定义几个类和方法来实现这个需求。首先,我们可以创建一个名为`TicketPriceCalculator`的类,它包含计算门票价格的逻辑。然后,我们可以定义一个`Person`类来表示游客,其中包含游客的年龄属性。下面是实现这个功能的一个简单示例代码:
```java
public class TicketPriceCalculator {
public static void main(String[] args) {
// 示例:计算不同游客在旺季的门票价格
System.out.println("旺季65岁以上老人门票价格: " + calculateTicketPrice(66));
System.out.println("旺季14岁以下儿童门票价格: " + calculateTicketPrice(13));
System.out.println("旺季成人门票价格: " + calculateTicketPrice(30));
}
public static double calculateTicketPrice(int age) {
// 检查是否是旺季
boolean isPeakSeason = isPeakSeason();
if (age >= 65) {
// 65岁以上老人免票
return 0.0;
} else if (age <= 14) {
// 14岁以下儿童半价
return isPeakSeason ? 120 * 0.5 : 80 * 0.5;
} else {
// 其余游客全价
return isPeakSeason ? 120 : 80;
}
}
private static boolean isPeakSeason() {
// 获取当前月份,1代表1月,12代表12月
int currentMonth = java.time.LocalDate.now().getMonthValue();
// 判断是否为旺季,即5-10月
return currentMonth >= 5 && currentMonth <= 10;
}
}
class Person {
private int age;
public Person(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
```
这段代码中,`calculateTicketPrice`方法根据游客的年龄和当前是否是旺季来计算门票价格。旺季为每年5-10月份,其他月份为淡季。`isPeakSeason`方法用来判断当前是否为旺季。`Person`类表示一个游客,其中包含年龄信息。
阅读全文