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);
}
我应该创建一个程序,要求输入为整数,但如果用户输入的不是整数,也可以返回错误消息。我搜索并发现了一些关于使用hasNextInt()方法的帖子,但这些例子使用了扫描仪,我无法弄清楚如何将它与JOptionPane一起使用。当我尝试askBoxes.hasNextInt()时,它不起作用。
如果我检查输入是否为整数,如何将我的else行重写为else行,这样如果输入不是整数,我还能显示错误信息?
答案 0 :(得分:3)
https://www.google.se/#q=java+check+string+is+number
简单地说,你要把它解析成一个整数,如果它失败了,你会发现异常。这样你知道它是不是整数。
}else{
try {
numBoxes= Integer.parseInt(askBoxes);
} catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Value must be an integer!");
}
}