检查输入是否是JOptionPane中的整数

时间:2014-05-11 21:42:06

标签: java joptionpane

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行,这样如果输入不是整数,我还能显示错误信息?

1 个答案:

答案 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!");
        }
}