编程题:自定义异常:超载异常(OverLoadException)
自定义一个异常类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吨货物
货船将正点起航
答案:若无答案欢迎评论
定义一个类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吨货物
货船将正点起航
答案:若无答案欢迎评论