4

我被这个问题困住了~:

Integer.parseInt 方法将数字字符串转换为它表示的 int 数字。

public static int parseInt (String s)
             throws NumberFormatException

解释如何捕获 parseInt 抛出的异常,并用代码示例说明你的答案。

到目前为止,我想到的答案是:

try
{
   System.out.println("incorrect");

}

catch (NumberFormatException n)
{
   System.out.println("WRONG! This is not a number");
}

我感觉这个答案是错误的,因为上面的代码只会在 main 方法中使用,我不确定如何在以下情况下捕获异常:

public static int parseInt (String s)
             throws NumberFormatException.

我已经查看了 parseInt 方法的 java API 并查看了各种研究并尝试编写代码,但是由于我缺乏理解,我仍然在努力做到这一点。

如果有人可以帮助我,我将不胜感激,在此先感谢。

4

4 回答 4

5

由于这是作业,我只是给你一个提示:你必须调用该方法,并用适当的try-catch块包围调用。

于 2012-04-28T20:31:40.677 回答
2

String numStr = "15A";
try {
  int num = Integer.parseInt(numStr);
} catch (NumberFormatException nfe) {
  // not a number
}
于 2012-04-28T20:31:53.650 回答
1

这很简单,

  • 在 try 块中,您尝试做某事。因此,您尝试将字符串的值解析为数字。在 try 块中,您可以编写任意数量的语句。
  • 当这不能正常工作时,您有一个 catch 块,您可以在其中对发生的某些异常做出反应(例如,您告诉用户出了点问题)
  • 另外还有一个 finally 块,它总是执行,是否发生异常没有区别

我希望这有帮助。:)

于 2012-04-28T20:38:45.693 回答
1

捕获(在 Java 中称为捕获)异常不是发生在抛出它的方法内(parseInt在您的示例中),而是发生在调用它的地方。Integer.parseInt(someString)因此,当您在 try-block 中添加时,您的示例会很好。

于 2012-04-28T20:39:22.097 回答