2011-05-11 50 views
0

这是我校的工作,我不想完整的答案,但我怎么应该去这样做每一部分或帮助澄清什么的问题是要求帮助与Java问题

在下面的方法的问题,对getCreditCardNumber()的呼叫可能会引发InvalidLengthExceptionNonNumericExceptionInvalidCardNumberException。修改该方法以执行以下操作:
a。抓住InvalidLengthException并打印消息“卡号必须是16位数”。
b。抓住NonNumericException并打印消息“卡号只能是数字。”
c。将InvalidCardNumberException传递给调用方法。换句话说,不要捕捉它,但让任何使用此方法的调用方法知道它可能会抛出InvalidCardNumberException

public void getOrderInformation() 
{ 
    getCreditCardNumber(); 
} 
+2

说明已经很清楚了。有什么特别的部分对你没有意义吗? – 2011-05-11 02:39:13

回答

1

没有提供确切的代码,根据您的请求,您需要使用多重catch语句将您的调用打包到try/catch块中的getCreditCardNumber()。

Java和其他语言如何执行异常处理。读这quick tutorial并给它一个镜头。

-1

你说这个? o.0

public void getOrderInformation() throws InvalidCardNumberException 
{ 
    try 
    { 
     getCreditCardNumber(); 
    } 
    catch(InvalidLengthException e) 
    { 
     System.out.println("Card number must be 16 digits."); 
    } 
    catch(NonNumericException e) 
    { 
     System.out.println("Card number must be numbers only."); 
    } 
} 
+1

OP寻求帮助,而不是回答,肯定没有不准确的答案。 – MByD 2011-05-11 02:39:28

+0

如果他不想要这个答案,他会忽略具体细节:P – MicronXD 2011-05-11 02:47:07

4

以下是官方documentation on exceptions。这很短,你试图做的事情放在那里。

+2

+1因为不给他答案大声笑。嘿汤姆:P – MicronXD 2011-05-11 02:39:14

-1

下面是所有这些问题的答案;你可以分开看看我做了什么。

public void getOrderInformation() throws InvalidCardNumberException 
{ 
    try { 
    getCreditCardNumber(); 
    } catch(InvalidLengthException ex) { 
    System.err.println("Card number must be 16 digits."); 
    } catch(NonNumericException ex) { 
    System.err.println(“Card number must be numbers only.”); 
    } 
} 
+0

请不要为他做功课。 – SLaks 2011-05-11 02:50:56

+0

这不是答案,因为有三个单独的部分。如果你把所有的东西结合起来,这将会发生什么;他必须对其进行剖析,以了解每个部分为什么起作用。 – Suroot 2011-05-11 02:54:38