我有两种方法可以从jTextField18.gettext
字符串获得保护
第一种方法:
public boolean isEditValid(String number) {
for (int i = 0; i <= number.length(); i++)
if (number.indexOf(i) <= 'a' && number.indexOf(i) >= 'z')
return true;
return false;
}
第二种方法:
private void jButton18ActionPerformed(java.awt.event.ActionEvent evt) {
if (jTextField18.getText().isEmpty())
JOptionPane.showMessageDialog(this, "The text field is emty");
else if (isEditValid(jTextField18.getText()) == true)
JOptionPane.showMessageDialog(this, "Edit isnt valid ONLY NUMBERS!");
}
当我在文本字段上写一个数字和一个字符串时,它说我Edit isnt valid ONLY NUMBERS
为什么?
答案 0 :(得分:1)
如果你想验证一个数字,你可以使用更好的方法来做到这一点,例如(使用正则表达式):
public static boolean isEditValid(String number) {
return number.matches("^[0-9]+$");
}
答案 1 :(得分:0)
如当前所写,如果所有字符都是小写,则isEditValid()
返回false
,否则返回true。
所以我怀疑它没有做你期望的事情。
我建议您构建mcve并测试isEditValid()
也应该是
for (int i = 0; i < number.length(); i++)
相反? (我有一段时间没有做过任何java ...)