Java 设法抓住不起作用的人
我的try/catch语句有问题。我知道这可能是一个很容易解决的问题,但我对java还是新手。 在这里,我希望控制台提示用户添加他们的初始存款,例如,如果我输入类似“hello”的内容,程序将崩溃,而不是再次询问?谢谢 以下是我收到的错误: 线程“main”java.util.InputMismatchException中出现异常 在 java.util.Scanner.throwFor(未知源) 位于java.util.Scanner.next(未知源) 位于java.util.Scanner.nextInt(未知源) 位于java.util.Scanner.nextInt(未知源) 据 方法nextInt抛出输入不匹配异常非NumberFormatException 写:Java 设法抓住不起作用的人,java,try-catch,Java,Try Catch,我的try/catch语句有问题。我知道这可能是一个很容易解决的问题,但我对java还是新手。 在这里,我希望控制台提示用户添加他们的初始存款,例如,如果我输入类似“hello”的内容,程序将崩溃,而不是再次询问?谢谢 以下是我收到的错误: 线程“main”java.util.InputMismatchException中出现异常 在 java.util.Scanner.throwFor(未知源) 位于java.util.Scanner.next(未知源) 位于java.util.Scanner
catch(InputMismatchException e){
....
更新:
我用这个代码段输入数字
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter an initial deposit:");
try {
int numberEntered = keyboard.nextInt();
System.out.println(numberEntered);
} catch (InputMismatchException e) {
System.out.println("Invalid input");
System.out.println("Please enter an account number:");
} finally {
keyboard.close();
}
}
控制台:
Please enter an initial deposit:
55
55
Process finished with exit code 0
第一个括号缺失。我认为在println(“无效输入”)之后 如果它仍然不工作,尝试捕捉各种错误
catch(Exeption e){…}
缺少结束括号<代码>catch(NumberFormatException e){System.out.println(“无效输入”);}/*…*/System.out.println(“请输入账号:”)代码>您是否收到任何错误?如果是,它们是什么?您是否检查了您得到的异常情况?例如,如果您在线程“main”java.util.InputMismatchException中获得异常,那么您无法在java.util.Scanner.throwFor(未知源)java.util.Scanner.nextInt(未知源)java.util.Scanner.next(未知源)处使用NumberFormatException?线程“main”java.util.InputMismatchException中的异常捕获在java.util.Scanner.nextInt(未知源代码)@HelpMe ICantJava:您应该将此信息“编辑”到问题中,因为它很容易在长度注释列表中丢失,不是每个人都想通读的。这稍微改进了一点。它实际上显示“无效输入”,但是,继续“请输入帐号”,然后崩溃为“线程中的异常”。我扩展了答案,希望它能帮助您调试代码
Please enter an initial deposit:
55
55
Process finished with exit code 0