바라건 말하면 매우 간단한 쿼리이지만 내 머리를 긁적 거리게됩니다.NumberFormatException error (parseInt)
문자열이 하나의 정수이고 정수로 정수를 얻으려고합니다. 이것에 직면해서는 안됩니다.
// this is how I create the string (it's the playload from a UDP datagram packet,
// thought I don't think the origins hugely important - it's juts a test run so the
// stringMessage is always 1 (created by a seperate client process)
...
recvSoc.receive(pac);
String stringMessage = new String(pac.getData());
port = pac.getPort();
System.out.println("RECEIVED: " + stringMessage + " on port: " + port);
processMessage(stringMessage);
...
// Then in processMessage
public void processMessage(String data) {
int message;
message = Integer.parseInt(data);
...
NumberFormatException 오류가 발생하면 항상 충돌합니다. 나는이 일의 원인을 알아낼 수 없다. 어떤 아이디어라도 크게 감사하게 생각한다. Java (최근)에서 많은 코드를 작성하지 않았으므로 단순히 중요한 것을 잊어 버릴 수도 있습니다.
Exception in thread "main" java.lang.NumberFormatException: For input string: "1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at java.lang.Integer.parseInt(Integer.java:514)
at udp.UDPServer.processMessage(UDPServer.java:85)
at udp.UDPServer.run(UDPServer.java:52)
at udp.UDPServer.main(UDPServer.java:156)
문자로 문자를 인쇄하고 거기에 재미있는 것이 있는지 확인하십시오. – iluxa