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

整数与IP地址间的转换

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

import java.util.Scanner;

public class Main {

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

        // 10.0.3.193   =>    167773121
        String[] array1 = ip1.split("\\.");
        StringBuilder stringBuilder = new StringBuilder();
        for (String s : array1) {
            String str = "00000000" + Long.toBinaryString(Long.parseLong(s));
            str = str.substring(str.length() - 8);
            stringBuilder.append(str);
        }
        System.out.println(Long.parseLong(stringBuilder.toString(), 2));

//        167969729  =>   10.3.3.193
//        1010   00000011  00000011  11000001

        String str = "00000000000000000000000000000000" + Long.toBinaryString(Long.parseLong(ip2));
        str = str.substring(str.length() - 32);
        StringBuilder stringBuilder2 = new StringBuilder();
        for (int i = 0; i < str.length(); i = i + 8) {
            int a = Integer.parseInt(str.substring(i, i + 8), 2);
            stringBuilder2.append(a).append(".");
        }
        System.out.println(stringBuilder2.substring(0, stringBuilder2.length() - 1));
    }
}

全部评论

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务