用java代码完成需求:在影院自动购票系统中,通过输入购买票数,支付票款可以完成购票。假定电影票50元/张,当支付足够金额时,输出“支付成功!:否则,抛出异常信息。 》当输入票数小于1时,抛出信息“您输入的购票数至少为1张!”>当支付金额不足时,抛出信息“您支付的金额不足!应支付xx元。实战任务2的运行结果如图6.18所示。 Rur DefineExcepTest 个 您需要购买几张票(50元/张):2 请输入支付金额:50 com javaex.ex6_2.PayException:您支付的金额不足!应支付100元。 at com javaex.ex6_2.DefineExcepTest.ShowPayblessage(DefineExcepTest.tava;28) at com javaex. ex6_2.DefineExcepTest.main(DefineExcepTest.rava:14
时间: 2024-03-02 11:53:43 浏览: 217
基于springboot的电影院购票系统代码
以下是使用Java代码实现该需求的示例:
```java
import java.util.Scanner;
public class CinemaTicketSystem {
public static void main(String[] args) {
// 定义电影票价格
int ticketPrice = 50;
// 获取用户输入的购票数量和支付金额
Scanner scanner = new Scanner(System.in);
System.out.print("您需要购买几张票(50元/张):");
int ticketNum = scanner.nextInt();
System.out.print("请输入支付金额:");
int payAmount = scanner.nextInt();
try {
// 判断购票数量是否小于1
if (ticketNum < 1) {
throw new IllegalArgumentException("您输入的购票数至少为1张!");
}
// 计算应支付金额
int totalAmount = ticketNum * ticketPrice;
// 判断支付金额是否足够
if (payAmount < totalAmount) {
throw new PayException("您支付的金额不足!应支付" + totalAmount + "元。");
}
// 输出支付成功信息
System.out.println("支付成功!");
} catch (IllegalArgumentException e) {
// 输出购票数量异常信息
System.err.println(e.getMessage());
} catch (PayException e) {
// 输出支付金额异常信息
System.err.println(e.getMessage());
}
}
}
// 自定义支付金额异常类
class PayException extends Exception {
public PayException(String message) {
super(message);
}
}
```
示例中通过 `Scanner` 获取用户输入的购票数量和支付金额,然后使用 `try-catch` 语句处理异常情况,包括购票数量小于1和支付金额不足两种情况。其中,支付金额不足的异常使用自定义异常类 `PayException` 处理,并输出异常信息。最后,如果没有异常,则输出支付成功信息。
阅读全文