使用try catch语句检查用户的条目是否为整数

时间:2017-10-20 06:09:04

标签: java integer try-catch jtextfield

try {
        Character.isDigit(Integer.parseInt(txtWeight.getText()));

    } catch (java.lang.NumberFormatException ex) {
        JOptionPane.showMessageDialog(null, "Enter a number");
        pnlStart.setSelectedIndex(2);

    }

txtWeight是一个JTextField,用户可以输入自己的值。我需要使用try catch检查用户输入的是一个整数,以便程序在输入时不会崩溃。

更新:

boolean s = false;
    while (s == false) {
        try {
            Integer.parseInt(txtWeight.getText());
        s = false;
        } catch (NumberFormatException ex) {
            JOptionPane.showMessageDialog(null, "Enter a number!");
            s =true;    
        }

    }

1 个答案:

答案 0 :(得分:0)

我认为您的代码无效?

我这样做的方法是创建一个布尔方法并返回true或false

boolean checkIfNumber(String s) {
    try {
        Integer.parseInt(s);
    } catch (NumberFormatException ex) {
        JOptionPane.showMessageDialog(null, "Enter a number!");
        return false;
    }
    return true;
}

修改

在这种情况下我要做的是,使用调用if方法的boolean语句包围您正在执行的任何代码:

if (checkIfNumber(txtWeight.getText())) {
     //do your code here
} else {
     //do something else if necessary if the return is false
}