public class MobileShop { InnerPurchaseMoney purchaseMoney1 = new InnerPurchaseMoney(20000); InnerPurchaseMoney purchaseMoney2 = new InnerPurchaseMoney(10000); int mobileAmount = 0; public MobileShop() { } public void setmobileAmount(int mobileAmount) { this.mobileAmount = mobileAmount; } public int getmobileAmount() { return this.mobileAmount; } class InnerPurchaseMoney{ int moneyValue = 0; public InnerPurchaseMoney(int moneyValue) { this.moneyValue = moneyValue; } public void buyMobile() { if(moneyValue>=20000) { mobileAmount -= 6; System.out.println("并输出使用价值为20000的内部购物券购买了6部手机。"); } else if(moneyValue>=10000 && moneyValue<20000) { mobileAmount -= 3; System.out.println("并输出使用价值为10000的内部购物券购买了3部手机。"); } } } }在buyMobile方法中判断,如果优惠券的价值为负数,则抛出非法参数异常,并采用两种方法(抛出和处理)对该异常进行处理。
时间: 2024-03-11 22:46:51 浏览: 62
PhoneShop-SSM:✦项目描述:该项目主要实现手机商城,商家将自己要卖的手机放在平台上,顾客可以加入购物车并购买,商家可以看到所有顾客的订单订单订单进行处理,其中伴随着数据库中数据的修改。该项目中还设置了一个超级用户,可以对用户进行所有操作,也可以管理商品。所有操作在登陆后进行,也可以注册。 ,订单,个人信息或权限的修改,登录注册这几个模块。首先创建数据库以及创建所需表和关系表,通过登陆注册进入系统内部。 ),数据库操作(dao),实体层(bean),工具类(tools); dao层数据注入服务层
可以在 `buyMobile()` 方法中添加以下代码来判断优惠券的价值是否为负数,并抛出非法参数异常:
```
if(moneyValue < 0) {
throw new IllegalArgumentException("优惠券的价值不能为负数!");
}
```
这样,如果优惠券的价值为负数,就会抛出非法参数异常。
处理该异常可以采用两种方法:
1. 在 `buyMobile()` 方法中使用 try-catch 块捕获该异常,然后在 catch 块中打印异常信息或进行其他处理。例如:
```
public void buyMobile() {
try {
if(moneyValue < 0) {
throw new IllegalArgumentException("优惠券的价值不能为负数!");
}
if(moneyValue>=20000) {
mobileAmount -= 6;
System.out.println("并输出使用价值为20000的内部购物券购买了6部手机。");
}
else if(moneyValue>=10000 && moneyValue<20000) {
mobileAmount -= 3;
System.out.println("并输出使用价值为10000的内部购物券购买了3部手机。");
}
} catch (IllegalArgumentException e) {
System.out.println("非法参数异常:" + e.getMessage());
// 或者进行其他处理
}
}
```
2. 在调用 `buyMobile()` 方法的地方使用 try-catch 块捕获该异常,然后在 catch 块中打印异常信息或进行其他处理。例如:
```
MobileShop shop = new MobileShop();
shop.setmobileAmount(10);
MobileShop.InnerPurchaseMoney coupon = shop.new InnerPurchaseMoney(-500);
try {
coupon.buyMobile();
} catch (IllegalArgumentException e) {
System.out.println("非法参数异常:" + e.getMessage());
// 或者进行其他处理
}
```
阅读全文