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,176int の範囲外です。

于 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 の範囲外です。広い範囲を提供する int の代わりに long を使用する必要があります。

于 2012-09-21T19:38:37.870 に答える