源码:
String num=request.getParameter("num");
String num1aa=request.getParameter("num1a");
String timea=request.getParameter("timea");
String classesa=request.getParameter("classesa");
classesa=add.chStr(classesa);
if(!num1aa.equals("")&&num1aa!=null){
int num1a= Integer.parseInt(num1aa);
int num2a= Integer.parseInt(request.getParameter("num2a"));
classesa=add.chStr(classesa);
String sql="INSERT INTO list(num,time,classes,num1,num2) VALUES('"+num+"','"+timea+"','"+classesa+"','"+num1a+"','"+num2a+"') ";
add.update(sql);
}
String num1bb=request.getParameter("num1b");
String timeb=request.getParameter("timeb");
String classesb=request.getParameter("classesb");
if(!num1bb.equals("")&&num1bb!=null){
if(timeb.equals("")&&timeb==null){//程序进行到这里就跳过不判断,或者判断不为空,但是System.out.println("timeb"+timeb)为空!
timeb=timea;
}
if(classesb.equals("")&&classesb==null){//这里也一样
classesb=classesa;
}
int num1b= Integer.parseInt(num1bb);//下面的都顺利进行!
int num2b= Integer.parseInt(request.getParameter("num2b"));
classesb=add.chStr(classesb);
String sql="INSERT INTO list(num,time,classes,num1,num2) VALUES('"+num+"','"+timeb+"','"+classesb+"','"+num1b+"','"+num2b+"') ";
add.update(sql);
}
參考答案:老大,你喝多了吧,应该是用||而不是&&!
你用&&是说timbe必须又是null又是"", 当然永远不可能!
而且应该先判断null,这样又能提高效率又能避免空指针
因为&&是如果第一个条件不成立就不判断第二个条件,||是如果第一个条件成立就不判断第二个条件!
if(timeb==null || timeb.equals("")){...}
if(classesb==null || classesb.equals("")){...}
补充: 判断一个字符串不为空:
if(str != null && ! str.equals("")){..}
这些不是死记的,要明白它的逻辑含义.