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

整数与IP地址间的转换

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

import java.util.*;
import java.io.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            String s1 = br.readLine();
            String s2 = br.readLine();
            String[] split1 = s1.split("\\.");
            StringBuffer stb = new StringBuffer();
            for (String s : split1) {
                String s3 = Integer.toBinaryString(Integer.valueOf(s));
                int res = 8 - s3.length();
                long l = Long.valueOf(s3);
                for (int i = 0; i < res; i++) {
                    stb.append(0);
                }
                stb.append(Long.valueOf(s3));
            }
            long decimalResult = Long.parseLong(stb.toString(), 2);
            System.out.println(decimalResult);
            stb = new StringBuffer();
            String binStr = Long.toBinaryString(Long.valueOf(s2));
            int y = binStr.length() % 8;
            if (y != 0) {
                int x = binStr.length() / 8;
                for (int i = 0; i < (8 * (x + 1) - binStr.length()); i++) {
                    stb.append(0);
                }
            }
            String resultStr = stb.append(binStr).toString();
            StringBuffer resultStb = new StringBuffer();
            for (int i = 0; i < resultStr.length(); i = i + 8) {
                if (i != resultStr.length() - 8) {
                    resultStb.append(Long.parseLong(resultStr.substring(i, i + 8), 2) + ".");
                } else {
                    resultStb.append(Long.parseLong(resultStr.substring(i, i + 8), 2));
                }
            }
            System.out.println(resultStb.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

全部评论

相关推荐

会非的杨:吓死了,看到我的评论以为自己被网暴了,那哥们说白了就是吃了黑流量还要倒打一耙喷他的,自己都说了想吃黑流量,然后又说网友不友好,md这不左右脑互搏吗,拿个蓝桥杯省二说要冲大厂,起号和父母不能同时存在
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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