Programming languages java中带异常的简单练习

Programming languages java中带异常的简单练习,programming-languages,java,exception,string,Programming Languages,Java,Exception,String,这里要解决的问题是:表示气体网络的类的方法。此类管理表示每条气体供应管线的Line类型的对象。 Line类型的对象由以下成员表示: 字符串起始性 弦端点 内特电容 int capacityAvail int最大容量 我无法实现的方法是: 布尔进位(字符串city1、字符串city2、整数容量) 考虑从city1到city2的所有行。对于每一行 尝试使用use()方法使用capacity(我认为没有必要知道如何使用) use()works)。如果use()抛出异常capacitysOperat

这里要解决的问题是:表示气体网络的类的方法。此类管理表示每条气体供应管线的
Line
类型的对象。
Line
类型的对象由以下成员表示:

  • 字符串起始性
  • 弦端点
  • 内特电容
  • int capacityAvail
  • int最大容量
我无法实现的方法是:

布尔进位(字符串city1、字符串city2、整数容量)

考虑从
city1
city2
的所有行。对于每一行 尝试使用
use()
方法使用
capacity
(我认为没有必要知道如何使用)
use()
works)。如果
use()
抛出异常
capacitysOperationalException
搜索
city1
city2
之间的其他行,如果没有其他行
请使用()
必须返回
False
。如果对
use()
的调用没有抛出
capacitysOperateAExceptio
n,则表示该行被分配了
容量
,并且该方法返回
True

我尝试了一些解决方案,但我不知道如何管理异常


谢谢

尝试在套圈内使用Try catch,套圈覆盖您携带方法中的所有合适线路:

public void use(int desiredCapacity) throws CapacitaSuperataException {
    if(desiredCapacity > maxCapacity) throw CapacitaSuperataException 
    ...
}
public void example() {
    try {
    this.use(999999)
    } catch(CapacitaSuperataException) { /* show error message */ }
}
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;

尝试在套圈内使用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;

谢谢,但我已经知道如何使用异常。。问题是,我必须捕获多个异常“对于这些行中的每一行,请尝试方法use()”,当use()引发CapacityAsOperationaException时,只有当列表中没有其他项时,函数才能返回false。您问“我尝试了一些解决方案,但我不知道如何管理异常。”,这就是您尝试/捕获异常的方式。谢谢,但我已经知道如何使用异常。。问题是,我必须捕获多个异常“对于这些行中的每一行,请尝试方法use()”,当use()引发CapacityAsOperationaException时,只有当列表中没有其他项时,函数才能返回false。您问“我尝试了一些解决方案,但我不知道如何管理异常。”,这就是您尝试/捕获异常的方式。请注意,如果这是一个练习,那么在设计中将异常用于非异常情况的意义上,这是非常糟糕的。通常情况下,在“良好”场景的运行期间,您不应该遇到任何异常,并且在查找时发现没有容量将被视为“良好”场景。(这让人难以置信,有多少练习让你学会了如何正确地做某件事,同时又在其他方面鼓吹糟糕的编程实践。)请注意,如果这是一个练习,那么在设计中将异常用于非异常情况的意义上,这是相当糟糕的。通常情况下,在“良好”场景的运行期间,您不应该遇到任何异常,并且在查找时发现没有容量将被视为“良好”场景。(这让人难以置信,有多少练习让你学会了如何做正确的事情,同时在其他方面鼓吹糟糕的编程实践。)