我试图确保用户在此文本框中输入的第一个字符是一个字母。但是,如果不是,则会弹出一个消息框,通知用户第一个字符不能是数字,并且必须是数字。问题是程序在事件发生后完全忽略代码以检查并查看第一个位置是否有字母。
if (event.getSource() == item2)
{
string = String.format("Account number: %s", event.getActionCommand());
str = string.substring(1);
try{
Integer.parseInt(string.substring(0,1));
parsable = true;
}catch(NumberFormatException e){
parsable = false;
}
if(parsable == true)
{
JOptionPane.showMessageDialog(null, "ENTER THE LETTER CORRESPONDING WITH YOUR ACCOUNT NUMBER AS THE FIRST CHARACTER IN THE TEXT FIELD.");
}
/*
try
{
Integer.parseInt(str);
}
catch(NumberFormatException e)
{
String.format("enter a valid number");
}
*/
}
感谢任何帮助。
答案 0 :(得分:0)
因为你正在使用String.format(“帐户....你的字符串的第一个字符将始终是'A'的帐户,你必须检查你从event.getActionCommand()方法收到的字符串