name = full_name_input.getText();
Fname = father_name_input.getText();
cnic = father_cnic_input.getText();
DOB = Integer.parseInt(DOB_input.getText());
Class_V = Integer.parseInt(class_input.getText());
prsnt_add = present_add_input.getText();
city = city_input.getText();
province = radio_text;
if(name.equals("") || Fname.equals("") || cnic.equals("") || DOB==0 || Class_V==0 || prsnt_add.equals("") || city.equals("") || province.equals(""))
{
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null, "Please fill all fields ! \n");
}
这里的线程“AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“”
实际上我想确保用户没有任何一个jfield保持为空 如果任何字段仍然未定义,则会显示一个弹出窗口,请填写所有字段 但是当出生日期或类别字段或两者仍然未被用户解冻时,它会出现在第一段中提到的错误
答案 0 :(得分:0)
我打赌你在这里有问题:
promiseResourcesAccountList.then(function(result){
///whatever processing
//return a promise
return promiseResourcesEditUser()
}).then(function(){
return anotherPromise();
}).then(function(){
//update scope here
});
DOB = Integer.parseInt(DOB_input.getText());
Class_V = Integer.parseInt(class_input.getText());
或DOB_input
(或甚至两者)class_input
都会返回空字符串。您应该捕获该异常并正确处理它:
getText()
答案 1 :(得分:0)
在您尝试设置字段后,您正在检查字段,但错误发生在此之前。例如,如果DOB_input
的文本为“”,那么DOB
会在您看到它为空之前尝试解析(Integer.parseInt()
不能处理类似的字符串)时会抛出错误。如果要保留if语句,则必须将其移到设置值的行上方。但是,要做到这一点,你需要调整一下,以便检查jfields的值。像:
if(full_name_input.getText().equals("") || father_name_input.getText().equals("") ..... )
{
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null, "Please fill all fields ! \n");
}
答案 2 :(得分:0)
从String解析数字时出现问题。 你检查过这行发生了什么? 我想在这里:
DOB = Integer.parseInt(DOB_input.getText()); Class_V = Integer.parseInt(class_input.getText());