Java村庄旁边有个水库用于干旱时的浇灌,但又不能大于它的储水量,因此,需要监控水量是否超高,如果超出100,抛出异常提示水库水位过高,注意泄洪!(可以使用随机数生成水库的储水量)。
时间: 2024-10-17 07:12:50 浏览: 21
在Java中,你可以创建一个模拟水库管理和监控的简单类。首先,我们可以定义一个`WaterReservoir`类,它有一个表示储水量的变量,并提供一些基本操作,如增加水量、检查水位等。同时,为了模拟随机存储水量,我们可以使用`Random`类。
```java
import java.util.Random;
public class WaterReservoir {
private int capacity;
private int waterLevel;
public WaterReservoir(int capacity) {
this.capacity = capacity;
this.waterLevel = generateInitialWaterLevel(capacity);
}
// 生成初始水位,范围在0到容量之间(包含0和容量)
private int generateInitialWaterLevel(int maxCapacity) {
Random random = new Random();
return Math.min(maxCapacity, random.nextInt(maxCapacity + 1));
}
// 添加水,但不超过最大容量
public void addWater(int amount) {
if (amount <= 0 || waterLevel + amount > capacity) {
throw new RuntimeException("水库水位过高,已达到上限或超过!");
} else {
waterLevel += amount;
}
}
// 检查水位并返回当前水平
public int getWaterLevel() {
return waterLevel;
}
// 主函数示例,展示如何使用
public static void main(String[] args) {
WaterReservoir reservoir = new WaterReservoir(1000); // 假设最大容量为1000
try {
reservoir.addWater(random.nextInt(500)); // 随机添加水,防止一次性太多导致溢出
} catch (RuntimeException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个例子中,当试图添加的水量会使水位超过最大容量时,会抛出`RuntimeException`异常,提示"水库水位过高,已达到上限或超过!"。在主函数中,我们展示了如何检测并避免这种情况。
阅读全文