JSP 程序跳过问题?

王朝知道·作者佚名  2011-01-20
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

源码:

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("")){..}

这些不是死记的,要明白它的逻辑含义.

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航