2012-09-21 2 views
0

ipString은 점 대신에 공백이있는 IP 주소의 문자열 표현입니다. 스레드 "주요"java.lang.NumberFormatException의에서Java에서 문자열을 int로 변환하고 NumberFormatException을 얻는 이유를 알아낼 수 없습니다.

String[] ipArray = ipString.split(" "); 
String ip = ""; 
for (String part : ipArray){ 
    if (part != null){ 
     ip += part; 
    } 
} 
ip = ip.trim(); 
int ipInt = Integer.parseInt(ip); // Exception is thrown here. 

예외 : 입력 문자열 : "6622015176". 누군가이 예외가 던져진 이유를 설명 할 수 있습니까?

+1

Long으로 시도 했습니까? : D –

+0

옙 그냥 시도, 지금 작동 –

답변

4

int는 기본 데이터 형식이며 범위는이다 : -2,147,483,648 INT 범위를 벗어

6,622,015,1762,147,483,647한다.

+0

오 세상에 너무 고마워, 나는이 어리석은 문제, 너무 빠른 답장을 주셔서 감사합니다. –

+0

당신은 오신 것을 환영합니다. 길거나 다른 것을 사용하는 것이 좋습니다. – kosa

+0

아아아, 이제 막 해냈어. –

0
public class test { 
    public static void main(String args[]) { 
     String ipString="662 20 15 176"; 
     String[] ipArray = ipString.split(" "); 
     String ip = ""; 
     for (String part : ipArray){ 
      if (part != null){ 
       ip += part; 
      } 
     } 
     ip = ip.trim();   
     Long ipInt = Long.parseLong(ip); 
     System.out.println(""+ipInt); 
    } 
} 
0

6622015176이 번호는 긴 대신에 당신에게 큰 범위를 제공합니다 INT의 사용해야 int.You의 범위를 벗어났습니다.

관련 문제