模拟向货船上装载货物,如果货船超重,那么货船认为这是一个异常,将拒绝装载该货物,但无论是否发生异常,货船都会在三点启航。货物数量为5,将货物放置在数组中,货物重量随机(大于200而小于500),货船最大载重1000,使用带finially子语句的try-catch语句进行编程。
时间: 2023-08-13 14:04:53 浏览: 81
以下是实现该功能的示例代码:
```java
import java.util.Random;
public class CargoShip {
private static final int MAX_LOAD = 1000;
private static final int NUM_CARGO = 5;
public static void main(String[] args) {
int[] cargo = new int[NUM_CARGO];
Random rand = new Random();
// 随机生成货物重量
for (int i = 0; i < NUM_CARGO; i++) {
cargo[i] = rand.nextInt(300) + 200;
}
int totalLoad = 0;
boolean isOverloaded = false;
// 计算总载重量
for (int i = 0; i < NUM_CARGO; i++) {
totalLoad += cargo[i];
if (totalLoad > MAX_LOAD) {
isOverloaded = true;
break;
}
}
try {
// 装载货物
if (isOverloaded) {
throw new Exception("货船超重,拒绝装载!");
} else {
System.out.println("货船装载以下货物:");
for (int i = 0; i < NUM_CARGO; i++) {
System.out.println("货物" + (i + 1) + ",重量:" + cargo[i]);
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
System.out.println("货船将在三点准时启航!");
}
}
}
```
该代码首先随机生成货物重量,并计算总载重量。如果总载重量超过了货船的最大载重,就抛出异常。否则,输出货物信息。无论是否发生异常,最后都会输出货船启航的信息。