华为OD:IPv4地址转换成整数

这篇具有很好参考价值的文章主要介绍了华为OD:IPv4地址转换成整数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述:

存在一种虚拟IPv4地址,由4小节组成,每节的范围为0-255,以#号间隔,虚拟IPv4地址可以转换为一个32位的整数,例如:

128#0#255#255,转换为32位整数的结果为2147549183(Ox8000FFFF)

1#0#0#0,转换为32位整数的结果为16777216 (0x01000000)

现以字符串形式给出一个虚拟IPv4地址,限制第1小节的范围为1-128,即每一节范围分别为(1-128)#(0-255)#(0-255)#(0-255),要求每个IPv4地址只能对应到唯一的整数上。

如果是非法IPv4,返回invalid IP

输入描述:

输入一行,虚拟IPv4地址格式字符串

输出描述:

输出一行,按照要求输出整型或者特定字符

用例:

输入

100#101#1#5

输出

1684340997

说明

代码:文章来源地址https://www.toymoban.com/news/detail-702344.html

import java.util.Arrays;
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println(getResult(sc.nextline()));    
    }
    public static String getResult(String s){
        try{
            Integer[] ip = Arrays.stream(s.split('#')).map(Integer::parseInt).toArray(Integer[]::new);
            if(ip.length !=4)return "invalid IP";
            int p1 =ip[0],p2=ip[1],p3=ip[2],p4=ip[3];
            if(p1>=1 && p1<=128 && p2 >=0 && p2<=255 && p3>=0 && p3 <=255 && p4>=0 && p4<= 255 ){
                String tmp = getHexString(p1)+getHexString(p2)+ getHexString(p3) + getHexString(p4);
                return Long.parseLong(tmp,16)+"";                           
            } else{
                return "invalid IP";            
            }       
        }catch(Exception e){
            return "invalid IP";        
        }    
    }
    public static String getHexString(int num){
        String tmp = Integer.toHexString(num);
        if(tmp.length()< 2)tmp ="0" + tmp;
        return tmp;    
    }
}

到了这里,关于华为OD:IPv4地址转换成整数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为OD机试真题-找出两个整数数组中同时出现的整数-2023年OD统一考试(B卷)

    题目描述: 现有两个整数数组,需要你找出两个数组中同时出现的整数,并按照如下要求输出: 1、有同时出现的整数时,先按照同时出现次数(整数在两个数组中都出现并且出现次数较少的那个)进行归类,然后按照出现次数从小到大依次按行输出。 2、没有同时出现的整

    2024年02月07日
    浏览(41)
  • 华为OD机试 - 找出两个整数数组中同时出现的整数(Java & JS & Python)

    题目描述 现有两个整数数组,需要你找出两个数组中同时出现的整数,并按照如下要求输出: 有同时出现的整数时,先按照同时出现次数(整数在两个数组中都出现并目出现次数较少的那个)进行归类,然后按照出现次数从小到大依次按行输出。 没有同时出现的整数时,输出

    2024年02月09日
    浏览(66)
  • 华为OD机试真题(Java),整数编码(100%通过+复盘思路)

    实现一个整数编码方法,使得待编码的数字越小,编码后所占用的字节数越小。 编码规则如下: 编码时7位一组,每个字节的低7位用于存储待编码数字的补码; 字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节,置0表示当前字节为最后一个字节; 采用小端

    2024年02月01日
    浏览(52)
  • 华为OD机试真题-用连续自然数之和来表达整数-Java-OD统一考试(C卷)

    题目描述: 一个整数可以由连续的自然数之和来表示。给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。 输入描述: 一个目标整数T (1 =T= 1000) 输出描述: 该整数的所有表达式和表达式的个数。如果有多种表达式,输出要求为: 1.自然数个数

    2024年01月16日
    浏览(48)
  • 【华为OD机试真题 JS语言】291、整数编码 | 机试真题+思路参考+代码分析

    🍂个人博客首页: KJ.JK   🍂专栏介绍: 华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用JS语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习

    2024年02月07日
    浏览(57)
  • 【华为OD统一考试B卷 | 100分】整数编码(C++ Java JavaScript Python)

    在线OJ 已购买本专栏用户,请私信博主开通账号,在线刷题!!! 运行出现 Runtime Error 0Aborted,请忽略 2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为 2023A卷和2023B卷。你收到的链接上面会标注A卷还是B卷。请注意:根据反馈,目前大部分收到的都是B卷。B卷对应之

    2024年02月13日
    浏览(43)
  • 【华为OD机考 统一考试机试C卷】分解连续正整数组合/ 分解正整数(C++ Java JavaScript Python)

    2023年11月份,华为官方已经将 华为OD机考:OD统一考试(A卷 / B卷)切换到 OD统一考试(C卷)和 OD统一考试(D卷) 。根据考友反馈:目前抽到的试卷为B卷或C卷/D卷,其中C卷居多 ,按照之前的经验C卷D卷部分考题会复用A卷/B卷题,博主正积极从考过的同学收集C卷和D卷真题,

    2024年01月19日
    浏览(45)
  • 用连续自然数之和来表达整数【华为OD机试-JAVA&Python&C++&JS】

    一个整数可以由连续的自然数之和来表示。给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。 输入描述: 一个目标整数T (1 =T= 1000) 输出描述: 该整数的所有表达式和表达式的个数。如果有多种表达式,输出要求为: 1.自然数个数最少的表达

    2024年03月11日
    浏览(62)
  • 【华为OD机考 统一考试机试C卷】整数对最小和(C++ Java JavaScript Python)

    目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。 另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。

    2024年02月04日
    浏览(51)
  • 详解IPv4地址

    一个IPv4地址有32 bit 2进制 4字节(1字节=8bit电流) IPv4地址通常采用“点分十进制”表示  IPv4地址范围:0.0.0.0~255.255.255.255 (约有43亿)          计算机的IP地址由两部分组成,一部分为网络位,一部分为主机位,同一网段内的计算机网络部分相同,主机部分不同同时重复

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包