题解 | #整数与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;
    }
}
全部评论

相关推荐

虽然大家都在劝退读研,说读研以后也是打工,不如本科直接去打工,但随着现在研究生越来越多,很多企业招聘要求就会变成研究生起招,本科投递简历就会被卡,横向比较时也会因为"本科学历比不上研究生学历"被筛掉,而且你没发现劝退读研的基本都是读完研的人吗?而且进体制、国企等,研究生也比本科生升的快,他们拿着研究生文凭劝你一个本科生,可别当真了
炬火初现:肯定是说本科能有好工作或者满意的可以不读研啊,现在本科能找到好工作的那个不优秀,大学四年赛高中,而且还要和学校斗智斗勇,这种时候自然有的选,要是只是觉得一辈子混口饭吃,大概率也考不上研,或者考上又浑浑噩噩三年,也难说。 而且考研所谓的优势说实话是你用差不多四年的时间成本(考一年,读三年)换过来的,而且还未必读完有今年的就业市场,当然不能随便决定读。 再还要看专业,一些稀奇古怪的专业说实话根本没有办法创造出什么价值,也没钱赚(如果有爱好,可以适当降低报酬标准)。现在非92的研究生说实话也没啥太多所谓优势,难说。 所以任何时候都要具体情况具体分析,不能一概而论。 一点点小看法。欢迎大家友善讨论。
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
06-12 16:23
已编辑
长安大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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