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的整數,以便該程序進入時不會崩潰。使用try catch語句檢查用戶的條目是否是整數
UPDATE:
boolean s = false;
while (s == false) {
try {
Integer.parseInt(txtWeight.getText());
s = false;
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Enter a number!");
s =true;
}
}
什麼是你的問題:您正在使用
if
聲明,呼籲該boolean
方法在做什麼?這段代碼有問題嗎? – 4castle嗯......我會這樣做的任何有符號,無符號,整數或雙數值的方式是使用[正則表達式](http://www.vogella.com/tutorials/JavaRegularExpressions/article.html)使用[** String.matches()**](https://www.tutorialspoint.com/java/java_string_matches.htm)方法:'if(s.matches(「 - ?\\ d +(\\。\ \ d +)?「)){//是的,它是數字。 }'。 – DevilsHnd