如何实现Java IpAddress类的getOctet方法 正确返回IP对应八位组值
Java IP地址八位组获取实现方案
因为你已经将4个八位组存储为独立的int类型成员变量,且未学习数组用法,直接使用条件分支匹配入参即可实现需求,无需引入数组相关语法。
实现步骤
- 首先对入参合法性做校验,仅接收1-4范围的整数,超出范围抛出非法参数异常避免逻辑错误
- 匹配入参值返回对应位置的八位组,因原方法定义返回值为
String,需要将int类型的八位组转为字符串返回,也可根据需求将方法返回值修改为int,两种写法都可以兼容给定的不可修改的驱动方法。
完整getOctet方法代码
public String getOctet(int n) { // 入参合法性校验 if (n < 1 || n > 4) { throw new IllegalArgumentException("参数仅支持1-4的整数"); } // 匹配参数返回对应八位组 switch (n) { case 1: return String.valueOf(firstOctet); case 2: return String.valueOf(secondOctet); case 3: return String.valueOf(thirdOctet); case 4: return String.valueOf(fourthOctet); default: return ""; // 永远不会走到该分支,仅用于满足编译要求 } }
运行效果
使用给定的驱动方法执行后,输出结果如下:
216.27.6.136 136 216 6 27
完全符合预期输出要求。
内容的提问来源于stack exchange,提问作者Uhdair
相关产品推荐
相关产品推荐

