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

整数与IP地址间的转换

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

import java.util.*;

public class Main {

    public static  void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String ip = in.nextLine();
        long num = in.nextLong();
        String arr[] = ip.split("\\.");
        long sum = 0l;

        // ip转数字
        for (int i = 0; i < arr.length; i++) {
            sum = sum << 8;
            sum = sum + Integer.valueOf(arr[i]);
        }
        System.out.println(sum);

        // 数字转ip
        sum = num;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < 4; i++) {
            long gap = sum & 255;
            sum = sum >> 8;

            String ipStr = (i != 3 ? "." : "") + gap;
            sb.insert(0,ipStr);
        }

        System.out.println(sb.toString());
    }
}
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务