A旅游景点购票规则: (1)旅游旺季(7~9月),订票5张及以上,优惠20%;5张以下,优惠10%; (2)旅游淡季(1~6月、10~12月),订票5张及以上,优惠30%,5张以下,优惠20%。 编写一个Java程序,能够根据月份和旅客订票张数决定优惠率。
时间: 2024-09-23 12:03:49 浏览: 45
要实现这个功能,我们可以创建一个`TicketCalculator`类,其中包含一个静态方法`getDiscountRate`。这个方法会接受月份和订票数量作为参数,然后根据给定的规则计算相应的折扣率。以下是程序的代码实现:
```java
import java.time.LocalDate;
import java.util.Scanner;
public class TicketCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份 (1-12):");
int month = scanner.nextInt();
System.out.println("请输入订票张数:");
int numberOfTickets = scanner.nextInt();
double discountRate = getDiscountRate(month, numberOfTickets);
System.out.printf("根据您的选择,优惠率为: %.2f%%\n", discountRate * 100);
scanner.close();
}
public static double getDiscountRate(int month, int numberOfTickets) {
double basePrice = 1; // 假设每张票原价为1元,实际应用时替换为真实价格
if (month >= 7 && month <= 9 || month == 12) { // 旅游旺季
if (numberOfTickets >= 5) {
return basePrice * 0.8; // 优惠20%
} else {
return basePrice * 0.9; // 优惠10%
}
} else if (month >= 1 && month <= 6 || month == 10) { // 旅游淡季
if (numberOfTickets >= 5) {
return basePrice * 0.7; // 优惠30%
} else {
return basePrice * 0.8; // 优惠20%
}
} else {
throw new IllegalArgumentException("月份输入错误,请输入1-12之间的整数。");
}
}
}
```
在这个示例中,我们假设每张票的原价为1元,实际应用时可以根据实际情况调整。程序首先从用户那里获取月份和订票数量,然后调用`getDiscountRate`方法计算优惠率并打印结果。
阅读全文