gpt4 book ai didi

Java:输入两个错误值后程序崩溃

转载 作者:行者123 更新时间:2023-11-30 05:18:44 26 4
gpt4 key购买 nike

我编写了一个程序,用于计算 gcd(最大公约数)和 lcm(最小公倍数)。除了 try {...} catch(...) {...} 之外,一切正常。这是代码中未按我希望的方式工作的部分:

try {
num1 = Integer.parseInt(sc.nextLine());
}
catch(Exception e) {
System.out.println("Your input is not an integer (number w/o decimals)! Try again.");
System.out.print("Enter your first number: ");
num1 = Integer.parseInt(sc.nextLine());
}

当我输入例如字母,上面写着:

Your input is not an integer (number w/o decimals)! Try again.
Enter your first number:

但是当我第二次输入字母时,程序崩溃了:

Exception in thread "main" java.lang.NumberFormatException: For input string: "asdf"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:658)
at java.base/java.lang.Integer.parseInt(Integer.java:776)
at GCDLCMgetter.main(GCDLCMgetter.java:56)

这可能是我犯的一个非常简单的错误,但我无法弄清楚......

谢谢

最佳答案

您的第二个 parseInt 方法调用不在 try catch block 中。您需要使用循环来实现这种逻辑。

关于Java:输入两个错误值后程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59902962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com