Java 判断是否为空

部分代码如下,全部的文本域都填写完成,插入成功,出现问题一,性别我填过了,为啥会跳出性别提示框?只填部分文本域时,点击按钮时,Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String 异常,此问题二,谁解释一下这两个问题啊,多谢了

try {
babycode_ = txt_babycode.getText();
address_ = txt_address.getText();
postcode_ = txt_postcode.getText();
mother_ = txt_mother.getText();
father_ = txt_father.getText();
babysex_ = txt_babysex.getText();
babyweight_ = Double.parseDouble(txt_babyweight.getText());
nursecode_ = txt_nursecode.getText();
birthday_ = txt_birthday.getText();
con = DriverManager.getConnection("jdbc:odbc:hello","","");
sql = con.createStatement();
int k = sql.executeUpdate("INSERT INTO message3 VALUES('" + babycode_ + "','"
+ address_ + "','" + postcode_ + "','"
+ mother_ + "','" + father_ + "','"
+ babysex_ + "'," + babyweight_ + ",'"
+ nursecode_ + "','" + birthday_ + "')");
if(mother_==null){
JOptionPane.showMessageDialog(null, "此项为必填", "请完成填写",JOptionPane.INFORMATION_MESSAGE);
}
else if(babycode_ .toString().length()!=4&&nursecode_.toString().length()!=4){
JOptionPane.showMessageDialog(null, "必须是四位数", "重新填写",JOptionPane.INFORMATION_MESSAGE);
}
else if(postcode_.toString().length()>6&&babycode_.toString().length()>128){
JOptionPane.showMessageDialog(null, "重新填写", "超过了所规定的长度",JOptionPane.INFORMATION_MESSAGE);
}
else if(mother_.toString().length()>12&&father_.toString().length()>12){
JOptionPane.showMessageDialog(null, "重新填写", "此项为姓名",JOptionPane.INFORMATION_MESSAGE);
}
else if(babysex_!="女"||babysex_!="男"){
JOptionPane.showMessageDialog(null, "请填写男或女", "此项为性别",JOptionPane.INFORMATION_MESSAGE);
}
else if(babysex_==null){
JOptionPane.showMessageDialog(null, "此项为必填", "请完成填写",JOptionPane.INFORMATION_MESSAGE);
}
else if(nursecode_==null){
JOptionPane.showMessageDialog(null, "此项为必填", "请完成填写",JOptionPane.INFORMATION_MESSAGE);

问题一:判断性别尽量用equals()方法,
比如你判断性别可以这样写:
if(babysex.equals("")){
跳出消息框提示不能为空;
}
问题二:数据类型转换异常
仔细检查下看有没有哪里数据类型转换有问题,比如String和int的转换

希望对你有所帮助
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-08
字符串相等不能用等号连接诶,要用equals
if(!("男".equals(sex)||"女".equals(sex)))
哎楼上的回答的全
第2个回答  2010-07-08
问题一:
if (babysex_!="女"||babysex_!="男")
最好写成:if ("女".equals(babysex_)||"男".equals(babysex_))

问题二:
babyweight_ = Double.parseDouble(txt_babyweight.getText());
其中xt_babyweight.getText()的结果是空字符串,是不能转化成数字的
相似回答