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

整数与IP地址间的转换

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

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
            String IP=sc.nextLine();
            Long num=sc.nextLong();
            System.out.println(ipToNum(IP));
            System.out.println(NumToIp(num));
            
            
        
    }
    static long ipToNum(String IP){//将ip转换为整数(必须是Long,int溢出),赋值时要加L,不然是int
        String[] str=IP.split("\\.");
        long ans=0L;
        for(String s:str){
            long n=Long.parseLong(s);
            if(n>255||n<0) return -1;
            ans=ans<<8;
            ans+=n;

        }
        return  ans;
    }
    
    static String NumToIp(long num){
         Deque<String> queue=new LinkedList<>();
        while(num!=0){
            int m=(int)(num%256);
            num=num>>>8;
            queue.addFirst(String.valueOf(m));
            queue.addFirst(".");
        }
        queue.removeFirst();
        String ans="";
        for(String s:queue){
            ans+=s;
        }
        return ans;
    }
}
全部评论

相关推荐

冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-12 10:48
已编辑
秋招之苟:邻居家老哥19届双2硕大厂开发offer拿遍了,前几天向他请教秋招,他给我看他当年的简历,0实习实验室项目技术栈跟开发基本不沾边😂,我跟他说这个放在现在中厂简历都过不了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务