-->
当前位置:首页 > 题库 > 正文内容

编程题:自定义异常:超载异常(OverLoadException)

Luz3年前 (2022-05-16)题库1668
自定义一个异常类OverLoadException(超载异常),它是Exception的子类,有一个成员变量message(消息,String类型),有一个带参数的构造方法public OverLoadException(double n),使得message的值为“无法再装载重量是XXX吨的集装箱”,其中XXX为参数n的值。有一个公有的成员方法showMessage(),功能为输出message的值。

定义一个类CargoShip(货船),有成员变量actualWeight(实际装载量,double类型,初始值为0)、maxWeight(最大装载量,double类型);有公有的成员方法setMaxWeight()用于设置maxWeight的值;公有的成员方法void loading(double weight)的功能是给货船加载weight吨的集装箱。但是根据参数weight的值,该方法可能会抛出超载异常,如果装载后实际重量没有超过最大装载量,则实际装载量增加,并输出“目前共装载了XXX吨货物”,其中XXX为actualWeight的值,否则抛出一个OverLoadException异常对象。

在测试类Main中,定义一个CargoShip类的对象myship,从键盘输入一个数,用于设置其最大装载量。从键盘再输入两个数,作为两个集装箱的重量,尝试将这两个集装箱按输入时的顺序先后装上货船,该操作有可能捕捉到超载异常,一旦捕捉到该异常,则调用showMessage()方法输出异常提示。不管是否有异常,最终输出“货船将正点起航”。使用try...catch...finally语句实现上述功能。

### 输入格式:

第一行输入一个大于零的整数或小数,当作货船的最大装载量maxWeight。
第二行输入两个大于零的整数或小数,当作尝试装载上货船的两个集装箱的重量,中间以空格隔开。

### 输出格式:

根据输入的值,可能输出以下两种情况之一:
目前共装载了XXX吨货物
无法再装载重量是XXX吨的集装箱
最后输出:货船将正点起航


### 输入样例1:

in
500
200 380


### 输出样例1:

out
目前共装载了200.0吨货物
无法再装载重量是380.0吨的集装箱
货船将正点起航


### 输入样例2:

in
1000
300 500


### 输出样例2:

out
目前共装载了300.0吨货物
目前共装载了800.0吨货物
货船将正点起航







答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。