这是要解决的问题:表示气体网络的类的方法。此类管理表示每个单一气体供应线的Line
类型的对象。
Line
类型的对象由以下成员表示:
我遇到问题的方法是:
boolean carry(String city1, String city2, int capacity)
考虑从city1
到city2
的所有行。对于这些行中的每一行
尝试使用capacity
方法use()
(我不认为有必要知道如何使用use()
use()
有效)。如果CapacitaSuperataException
引发异常city1
搜索
如果没有其他行city2
,use()
和False
之间的其他行
必须返回use()
。如果对CapacitaSuperataExceptio
的调用未抛出capacity
n,则表示该行已分配True
,并且该方法返回{{1}}。
我尝试了一些解决方案,但我不知道如何管理例外。
谢谢
答案 0 :(得分:1)
尝试在循环中使用try-catch,覆盖进位方法中的所有合适的行:
for (Line line : getLines("start", "end"))
{
try
{
line.use(cap);
System.out.println("Line used, great!");
return true;
}
catch (CapacitaSuperataException e)
{
System.out.println("Line full, try next");
}
}
System.out.println("No line found");
return false;
答案 1 :(得分:0)
public void use(int desiredCapacity) throws CapacitaSuperataException {
if(desiredCapacity > maxCapacity) throw CapacitaSuperataException
...
}
public void example() {
try {
this.use(999999)
} catch(CapacitaSuperataException) { /* show error message */ }
}