题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

这题有点东西,将ip地址当成256进制的数来算,比较简单。

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String ip2In = in.nextLine();
        // 当成256进制的
        String[] ip2InArr = ip2In.split("\\.");
        long resultIp2 = 0;
        for(int i = 0;i < 4;i++){
            resultIp2 = resultIp2 * 256+Integer.parseInt(ip2InArr[i]);
        }
        System.out.println(resultIp2);
        // 十进制转ip
        String ip10In = in.nextLine();
        long ip10InLong = Long.parseLong(ip10In);
        String resultIp10 = "";
        for(int i = 0 ;i < 4;i++){
            resultIp10 ="."+ (ip10InLong%256)+resultIp10;
            ip10InLong = ip10InLong/256;
        }
        System.out.print(resultIp10.substring(1));

    }

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务