定义一个Computer类,要求如下: 属性:品牌(brand)、价格(price) ; 方法:构造方法,setBrand、getBrand、getPrice和setPrice方法,其中setPrice(int price)若price<2000,则抛出LessException,若price>20000,则抛出GreatException 。 编写自定义LessException和GreatException异常类。 编写Computer类。在setPrice方法体中抛出LessException或GreatException异常类 编写类ExceptionTest3:
时间: 2024-03-06 07:48:17 浏览: 62
好的,我理解了你的要求。以下是符合要求的代码:
```java
// 自定义LessException异常类
class LessException extends Exception {
public LessException(String message) {
super(message);
}
}
// 自定义GreatException异常类
class GreatException extends Exception {
public GreatException(String message) {
super(message);
}
}
// Computer类
class Computer {
private String brand;
private int price;
// 构造方法
public Computer(String brand, int price) {
this.brand = brand;
this.price = price;
}
// getBrand方法
public String getBrand() {
return brand;
}
// setBrand方法
public void setBrand(String brand) {
this.brand = brand;
}
// getPrice方法
public int getPrice() {
return price;
}
// setPrice方法,可能会抛出LessException或GreatException异常
public void setPrice(int price) throws LessException, GreatException {
if (price < 2000) {
throw new LessException("价格不能低于2000元");
} else if (price > 20000) {
throw new GreatException("价格不能高于20000元");
} else {
this.price = price;
}
}
}
// ExceptionTest3类
public class ExceptionTest3 {
public static void main(String[] args) {
Computer computer = new Computer("Lenovo", 5000);
try {
computer.setPrice(1500);
} catch (LessException e) {
System.out.println(e.getMessage());
} catch (GreatException e) {
System.out.println(e.getMessage());
}
}
}
```
在上面的代码中,我们定义了一个Computer类,其中包含了brand和price两个属性,以及构造方法、setBrand、getBrand、getPrice和setPrice方法。在setPrice方法中,我们使用了throw语句抛出了LessException或GreatException异常,这里使用了try-catch语句来处理异常。在ExceptionTest3类的main方法中,我们创建了一个Computer对象,然后尝试将价格设为1500元,此时会抛出LessException异常,我们通过catch语句来捕获并输出异常信息。
阅读全文