Java 在JOptionPane中检查输入是否为整数
我应该创建一个程序,该程序要求输入整数,但如果用户输入的不是整数,它也能够返回错误消息。我已经搜索并找到了一些关于使用hasNextInt()方法的帖子,但是这些例子使用了scanner,我不知道如何将它与JOptionPane一起使用。当我尝试askBoxes.hasNextInt()时,它不起作用 如何将else行重写为else-if行以检查输入是否为整数,以便在输入不是整数时也能显示错误消息? 简单地说,您需要将它解析为整数,如果它失败,您将捕获一个异常。这样你就知道它是不是整数了Java 在JOptionPane中检查输入是否为整数,java,joptionpane,Java,Joptionpane,我应该创建一个程序,该程序要求输入整数,但如果用户输入的不是整数,它也能够返回错误消息。我已经搜索并找到了一些关于使用hasNextInt()方法的帖子,但是这些例子使用了scanner,我不知道如何将它与JOptionPane一起使用。当我尝试askBoxes.hasNextInt()时,它不起作用 如何将else行重写为else-if行以检查输入是否为整数,以便在输入不是整数时也能显示错误消息? 简单地说,您需要将它解析为整数,如果它失败,您将捕获一个异常。这样你就知道它是不是整数了 JFr
JFrame frame2 = new JFrame("Boxes");
String askBoxes= JOptionPane.showInputDialog(frame2,
"How many boxes?",
"# of boxes",
JOptionPane.QUESTION_MESSAGE);
if(askBoxes == null) {
JOptionPane.showMessageDialog(null, "User pressed cancel, exiting program now!");
System.exit(0);
} else {
numBoxes= Integer.parseInt(askBoxes);
}
+1您基本上可以将其粘贴到代码的“else{”部分。谢谢!我没有考虑在else语句中使用try/catch,当我在代码的其他地方尝试时,我一直收到一条错误消息。
}else{
try {
numBoxes= Integer.parseInt(askBoxes);
} catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Value must be an integer!");
}
}