0

ipString 是 IP 地址的字符串表示形式,其中包含空格而不是点。

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.

线程“main”java.lang.NumberFormatException 中的异常:对于输入字符串:“ 6622015176”。有人可以解释为什么会抛出这个异常吗?

4

3 回答 3

4

int是原始数据类型,它的范围是:-2,147,483,6482,147,483,647

6,622,015,176超出 int 范围。

于 2012-09-21T03:27:08.823 回答
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);
    }
}
于 2012-09-21T03:32:54.770 回答
0

6,622,015,176 这个数字超出了 int 的范围。您应该使用 long 而不是 int,这将为您提供更大的范围。

于 2012-09-21T19:38:37.870 回答