我正在尝试在文本框中执行用户输入,以检查他们是否在文本框中输入了用户名的任何数字或特殊字符。我在网上检查了一些资源也无法找出我的代码中的问题。它向我显示了四个错误消息
1) 错误:'else' 没有 'if'
else if(tf3.getText().isEmpty())
2.) 错误:';'预计
if(!(Pattern.matches("^[a-zA-Z]$")),tf3.getText())
3.) 错误:此处不允许变量声明
if(!(Pattern.matches("^[a-zA-Z]$")),tf3.getText())
4.) 错误:';'预计
if(!(Pattern.matches("^[a-zA-Z]$")),tf3.getText())
这是我的整个程序的完整程序
if(e.getSource()== btn2)
{
if(!(Pattern.matches("^[a-zA-Z]$")),tf3.getText())
{
JOptionPane.showMessageDialog(null,"Please enter a valid name");
}
else if(tf3.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"Check your name");
}
else if(tf2.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"Check your id");
}
else if(cmb1.getSelectedIndex()== 0)
{
JOptionPane.showMessageDialog(null,"Check your year");
}
else if(cmb2.getSelectedIndex()== 0)
{
JOptionPane.showMessageDialog(null,"Check your major");
}
else if(cmb3.getSelectedIndex() == 0)
{
JOptionPane.showMessageDialog(null,"Check your selection");
}
else
{
String name = tf3.getText();
String id = tf2.getText();
String job = String.valueOf(cmb1.getSelectedIndex());
String country = String.valueOf(cmb2.getSelectedIndex());
String software = String.valueOf(cmb3.getSelectedIndex());
runCC(software,id,name,job,country);
}
}
最佳答案
括号:
if(!(Pattern.matches("^[a-zA-Z]$")),tf3.getText())
应该看起来像:
if(!Pattern.matches("^[a-zA-Z]$", tf3.getText()))
至少如果我明白你的意思的话。
关于java - java gui中文本框的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32016728/