华为OD机试 - IPv4地址转换成整数(Java题解)

该博客介绍了如何处理华为OD机考中关于IPv4地址转换成整数的Java编程题。博客详细阐述了题目的描述、输入输出要求,以及提供了代码思路和完整的Java代码示例,帮助读者理解并解决这类问题。
摘要由CSDN通过智能技术生成

题目描述

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

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

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

现以字符串形式给出一个虚拟IPv4地址,限制第1小节的范围为1128,即每一节范围分别为(1128)#(0255)#(0255)#(0~255),要求每个IPv4地址只能对应到唯一的整数上。如果是非法IPv4,返回invalid IP

输入描述

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

输出描述

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

用例

输入 100#101#1#5
输出 1684340997
说明

代码思路

  1. 读入输入的虚拟IPv4地址字符串。
  2. 使用字符串的split方法以"#"为分隔符,将输入字符串分割成4个小节,并将结果存储在ipSections数组中。
  3. 检查分割后的小节数量是否为4,如果不是,则输出"invalid IP"表示非法IPv4地址,并结束程序。
  4. 将第一个小节转换为整数,如果值不在1~128的范围内,则输出"invalid IP"表示非法IPv4地址,并结束程序。
  5. 遍历后面的3个小节,将每个小节转换为整数,如果值不在0~255的范围内,则输出"invalid IP"表示非法IPv4地址,并结束程序。
  6. 创建一个字符串,用于拼接转换后的十六进制字符串。
  7. 遍历4个小节,将每个小节转换为十六进制字符串,并在前面补0,然后将结果添加到StringBuilder对象中。
  8. 将拼接后的十六进制字符串转换为长整型,并输出结果。

java

import java.</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值