我试图做到这一点:错误采取输入字符串整数之后在java中
int n = myScanner.nextInt();
for(int i=0;i<n;i++){
String str = myScanner.nextLine();
.
.
.
}
当我编译它显示了一些错误java.util.Scanner.nextInt(Scanner.java:2117)。 最初我认为这是nextLine()的问题,所以我使用next()。后来我发现,如果我走输入的N即
int n = myScanner.nextInt();
myScanner.nextLine();
然后它好工作之后添加myScanner.nextLine()。我想知道为什么会发生这种情况?
在http://stackoverflow.com/questions/13102045/skipping-nextline-after-using-next-nextint-or-other-nextfoo看看 - 方法的解释。 – Codebender
@Codebender我访问了上面的链接。在解决方案中,异常处理是在使用Integer.parseInt()时完成的,但是当我使用parseInt时,它不会抛出任何异常。为什么这样? – hermit
@hermit,只有在无法解析的情况下才会抛出NumberFormatException异常。但是'NumberFormatExcetion'是一个** unchecked **(扩展的RuntimeException)异常,因此您不必明确地写入抛出或处理它(尽管如果您不抛出它将抛出)。希望这是明确的。 – Codebender