java.lang在哪_Java开发网 - 求助:问题(java.lang.NumberFormatException: null)错在哪里?...

Posted by:心系天空

Posted on:2007-03-12 09:52

请各位高手帮忙看一下错误在哪里?我分析了好久都弄不明白。

下面的程序在填写信息完整后点添加会提示出错:

String sno = request.getParameter("sno");

String studentname = request.getParameter("studentname");

int sex = Integer.parseInt(request.getParameter("sex"));

String birthdate = request.getParameter("birthdate");

String city = request.getParameter("city");

String address = request.getParameter("address");

String phone = request.getParameter("phone");

String depname = request.getParameter("depname");

String rxdate = request.getParameter("rxdate");

String bydate = request.getParameter("bydate");

if (sno == null || sno.trim().equals("")){

request.setAttribute("errMsg","请将学号填写完整!");

%>

}else if (studentname == null || studentname.trim().equals("")){

request.setAttribute("errMsg","请将姓名填写完整!");

%>

}

严重: Servlet.service() for servlet debugjsp threw exception

java.lang.NumberFormatException: null

### 回答1: java.lang.NumberFormatException是一个Java异常类,表示在将一个字符串转换为数字时发生了格式误。在这种情况下,异常消息会显示为"null java.lang.Integer.parseInt(integer.jav"。 这个异常通常发生在使用Integer.parseInt()方法时,当输入字符串不是一个合法的整数时,就会抛出这个异常。可能的原因包括: 1. 输入字符串为空或为null。在这种情况下,无法将空字符串或null转换为整数,因此会抛出NumberFormatException。 2. 输入字符串包含了非数字字符。Integer.parseInt()方法只能处理包含数字字符的字符串,当输入字符串包含了非数字字符(如字母、特殊符号等)时,会抛出NumberFormatException。 3. 输入字符串超出了整数的范围。整数的范围在Java中是有限的,如果输入字符串表示的数字超出了整数的范围,就会抛出NumberFormatException。 要解决这个异常,我们可以在调用Integer.parseInt()方法之前进行一些验证操作,以确保输入字符串符合要求。例如,可以使用正则表达式检查输入字符串是否只包含数字字符,并在转换之前进行验证。另外,还可以使用try-catch块来捕获NumberFormatException异常并进行相应的处理,比如输出误信息或者给出合适的提示。 总而言之,NumberFormatException是一个表示数字格式误的异常类,在使用Integer.parseInt()方法时可能会出现。为了避免这个异常,我们需要确保输入字符串符合转换为整数的要求,或使用适当的方法来处理这个异常。 ### 回答2: java.lang.NumberFormatException是一个在字符串转换为数字时可能会抛出的异常。在这个特定的误消息中,异常被引发的原因是传递给Integer.parseInt()方法的参数为空。 Integer.parseInt()方法用于将字符串转换为整数。当传递一个空字符串或null时,该方法无法将其解析为有效的整数,因此会引发NumberFormatException。这是因为无法将空字符串或null解析为有效的数字表示形式。 要解决这个问题,需要确保传递给Integer.parseInt()方法的参数不是空的。可以使用条件语句,如if语句,来检查参数是否为空,如果为空,可以选择给参数赋予一个默认值或者进行其他的误处理。 以下是一个示例代码,演示如何处理这个异常: ``` String str = null; try { int num = 0; if (str != null) { num = Integer.parseInt(str); } else { // 处理参数为空的情况 // 可以给参数赋予一个默认值或者进行其他的误处理 } // 使用转换后的整数进行其他操作 // ... } catch (NumberFormatException e) { // 处理异常情况 // ... } ``` 在这个示例中,首先将参数赋给一个临时变量str。然后在try块中使用条件语句来检查str是否为空,如果不为空,将其转换为整数并赋给num变量。如果str为空,则可以根据具体需求进行处理。 最后,在catch块中捕获NumberFormatException异常,可以选择在此处处理异常,例如打印误消息或采取其他适当的措施。 总之,如果在使用Integer.parseInt()方法时遇到像java.lang.NumberFormatException: null误消息,需要检查传递给方法的参数是否为空,并根据具体情况进行适当的处理。 ### 回答3: java.lang.NumberFormatExceptionJava编程语言中的一个异常,它表示当尝试将一个无效的字符串转换为数字时出现了问题。在给定的情况下,误信息显示为"null java.lang.Integer.parseInt(Integer.java)"。 这个异常通常会发生在通过Integer.parseInt()方法将字符串转换为整数时。NumberFormatException的原因可能是输入的字符串不符合整数的格式要求,例如包含非数字字符或空格。在给定误信息中,"null"表示输入的字符串为空。 解决这个问题的方法是确保将正确的字符串输入到Integer.parseInt()方法中。要避免NumberFormatException,可以使用try-catch块来捕获并处理异常。在try块中,可以尝试将字符串转换为整数,并在catch块中处理NumberFormatException。 以下是一个示例代码片段,演示如何处理这个异常: ```java try { String str = ""; // 这里输入字符串 int num = Integer.parseInt(str); // 在这里处理转换后的整数 } catch (NumberFormatException e) { System.out.println("输入的字符串不是有效的整数"); } ``` 在上面的代码中,我们将输入的字符串赋给变量`str`,然后尝试将其转换为整数。如果转换成功,就可以在try块中继续处理转换后的整数。如果转换失败(出现NumberFormatException),则在catch块中输出误消息。 请注意,在实际的应用程序中,可能需要根据具体需求做更多的异常处理,例如提供用户友好的误提示或重新要求用户输入正确的整数字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值