2013-04-27 123 views
3

你好,我用奇數或偶數來匹配web服務,當我在NetBeans中爲web服務創建客戶端時,我有這個錯誤。 這裏的Web服務:java.lang.NumberFormatException:對於輸入字符串:「添加」

@WebService(serviceName = "Par_Impar") 
public class Par_Impar { 

/** 
* Web service operation 
*/ 
@WebMethod(operationName = "operation") 
public String operation(@WebParam(name = "val") int val) { 
    if(val%2!=0){ 
     //daca reminder-ul nu este 0 este impar 
     return("IMPAR"); 
    } 
    else { 
     //daca reminder-ul este 0 atunci este par 
     return("PAR"); 
    } 
} 

} 

中的index.jsp:

<html> 
<head> 
    <title>PAGINA JSP</title> 
</head> 
<body> 
    <form action="action.jsp" method="post"<br/> 
      Introdu numarul :<input type="text" name="nr"/><br/> 
     <input type="submit" value="Testeaza"/> 
</form> 

</body> 

的action.jsp:

<%-- 
Document : action 
Created on : Apr 27, 2013, 5:28:45 PM 
Author  : ARB 
--%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 
    <h1>Hello World!</h1> 
<%-- start web service invocation --%><hr/> 
<% 
String add=request.getParameter("numar"); 
int aa=Integer.parseInt("add"); 
try { 
mypack.ParImpar_Service service = new mypack.ParImpar_Service(); 
mypack.ParImpar port = service.getParImparPort(); 
// TODO initialize WS operation arguments here 
int val=aa; 
    // TODO process result here 
java.lang.String result = port.operation(aa); 
out.println("Result = "+result); 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
} 
%> 
<%-- end web service invocation --%><hr/> 
</body> 
</html> 

請幫助我。謝謝 !

回答

4
int aa=Integer.parseInt("add"); 

上面的行應該是:

int aa=Integer.parseInt(add); 

parseInt

解析作爲基數中的一個符號整數由第二個參數指定 字符串參數。字符串中的字符必須是指定基數的數字 (如由 Character.digit將(炭,INT)是否返回一個非負值確定),所不同的是 第一個字符可以是ASCII減號「 - 」( '\ u002D')至 表示負值或ASCII加號'+'('\ u002B')至 表示正值。返回結果整數值。

  1. 第一個參數是空值或零長度的字符串:

    NumberFormatException類型的異常,如果發生任何的 以下情況被拋出。

  2. 基數小於Character.MIN_RADIX或大於 Character.MAX_RADIX。
  3. 字符串的任何字符不是指定基數的數字,所不同的是第一個字符可以是減號 「 - 」(「\ u002D」)爲 或加號「+」(「\ u002B」 )假設字符串長度大於 長度1.

  4. 字符串表示的值不是int類型的值。

+0

我試着把int aa = Integer.parseInt(add);這就是我所做的一切,因爲我是新手,需要學習很多東西。現在,當我輸入一個數字並按下提交按鈕來啓動Web服務時,結果如下所示:java.lang.NumberFormatException:null。你能告訴我在哪裏修改?非常感謝答案!我很感激你在做什麼。再次感謝 ! – 2013-04-27 19:00:34

+0

@ AndreiR.Beraru我認爲'request.getParameter(「numar」)'這個方法返回'null',所以你得到這個異常。 – 2013-04-29 00:13:06

0

從你的index.jsp你要發送一個名爲nr參數,但在action.jsp您檢索一個名爲numar參數。由於請求中沒有這樣的參數,因此最終會解析null。 @Achintya說的也適用。

+0

非常感謝!我沒有看到。謝謝你們 ! – 2013-04-27 20:19:22

+0

如果答案解決了您的問題,請考慮將答案標記爲已接受。 :-) – Akshay 2013-04-27 20:22:32

相關問題