首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

java.lang.NumberFormatException: For input string解决方法

2014-01-26 
java.lang.NumberFormatException: For input string: all 出现上面的异常! 在jsp页面中,是下面的html代

java.lang.NumberFormatException: For input string: "all"

出现上面的异常!

在jsp页面中,是下面的html代码:
<tr>
<td height="50" colspan="2" align="center"> <b>请输入关键字查找: </b> <input name="search" type="text">
<select name="fl">
<option value="all" selected>所有资讯 </option>
<option value="4" >国内快讯 </option>
<option value="3" >国际快讯 </option>
<option value="1" >市场行情 </option>
<option value="2" >新产品新技术 </option>
</select> <input type="submit" name="Submit" value="查找"> </td>
</tr>

<%//这里是部分 引用到的代码!
HardWare hw=(HardWare)session.getAttribute("hw");
String cif=request.getParameter("fl");//保存查询字段

if(cif!=null)
hw.setCif(cif);

%>

下面是另外的一段代码:

public String getSqlString(String table){
 
  if (cif=="all".trim()){
if(qvalue!=""){
String sqlStr="select * from "+table+" where title like '%"+
qvalue+"%' order by date desc";
return sqlStr;
}else{
String sqlStr="select * from "+table+" order by date desc";
return sqlStr;
}
}else{
if (qvalue!=""){
String sqlStr="select * from "+table+" where fenlei="+
Integer.parseInt(cif)+" and title like '%"+
qvalue+"%' order by date desc";
return sqlStr;
}else{
String sqlStr="select * from "+table+" where fenlei="+
Integer.parseInt(cif)+" order by date desc";
return sqlStr;
}
}
 
  }

请问这些语句有什么不对的地方还是怎样的错误。我一直看不出,请高手指教!

另外数据库的  fenlei  是 int 类型的!



------解决方法--------------------------------------------------------
首先字符串比较不用==而用equals
你首先是if语句的比较搞错了才到else里面
假如cif真等于all
那么他还是到else分之
那么Integer.parseInt(cif)就会报数字格式化异常(NumberFormatException)

        

热点排行