我正在做一个计算器,我想扔一个窗口,上面写着一条消息,说如果用户在textField中键入不是数字的字符,则仅接受数字,所以这就是我所做的和没有做的工作。
谢谢阅读。
private void txtPantallaActionPerformed(java.awt.event.ActionEvent evt) {
String invalids;
invalids = "|@#¢∞¬÷“”≠´‚πø ¥†®€æœå∫∂ƒ™¶§ ~–…„µ ß√©∑Ωqwertyuiopñlkjhgfdsazxcvbnm!$%&/=?¿*^QWERTYUIOPÑLKJHGFDSAZXCVBNM";
for (int i = 0 ; i < invalids.length() ; i++)
{
if(txtPantalla.getText().equals (invalids.substring(i, i+1)))
{
JOptionPane.showMessageDialog(null,"Only works with numbers");
}
}
}
最佳答案
您可以使用正则表达式以提高可读性并避免循环:
String value = txtPantalla.getText();
if(Pattern.matches(".*[^0-9].*", value)) {
// there are some invalid characters!
JOptionPane.showMessageDialog(null, "Only works with numbers");
}
任何需要您对某些内容进行硬编码的解决方案都可能是错误的。
关于java - 防止用户在计算器中使用某些字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26454532/