iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java怎么实现IP地址到二进制的转换
  • 753
分享到

Java怎么实现IP地址到二进制的转换

2023-06-21 20:06:40 753人浏览 泡泡鱼
摘要

这篇文章主要介绍“Java怎么实现IP地址到二进制的转换”,在日常操作中,相信很多人在Java怎么实现IP地址到二进制的转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现IP地址到二进制的转换

这篇文章主要介绍“Java怎么实现IP地址到二进制的转换”,在日常操作中,相信很多人在Java怎么实现IP地址到二进制的转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现IP地址到二进制的转换”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Java编程实现十进制IP地址到二进制IP地址的转换。

如:192.168.1.100,转换后:11000000.10101000.00000001.01100100

要求:

定义自定义异常类InvalidIP(检查型的),代表IP地址非法---如:点分十进制IP段数不是4;各段数值不是0~255范围

定义公有静态方法convertIP实现转换,点分十进制IP地址为参数,转换后的二进制IP为返回值,在方法内检查参数IP地址的合法性,如非法,请抛出自定义异常InvalidIP

public static String convertIP(String ip)throws InvalidIP

提示:

(1)先做字符串拆分,"."为分隔符,存入String[];

(2)再做字符串到int的转换,考虑进制问题,生成int[];

(3)对数组长度做判断,不是4,则IP非法抛出异常;对转换后的数值做判断,不是0~255范围,则IP非法抛出异常。

在主方法中实现用户输入、方法调用及输出,即:

(1)通过Scanner类的nextLine()读取键盘输入,或者通过JOptionPane.showInputDialog(String str)实现对话框文本输入,得到欲转换的点分十进制IP字符串str;

(2)调用convertIP(str)实现转换并得到返回值,此处需有异常处理;

(3)输出结果,命令行方式,或者对话框方式JOptionPane.showMessageDialog(String str)

import com.sun.deploy.util.StringUtils;import java.util.Arrays;import java.util.Scanner; class InvalidIP extends Exception {  //定义自定义异常类InvalidIP(检查型的),代表IP地址非法---如:点分十进制IP段数不是4;各段数值不是0~255范围        InvalidIP(String s) {            super(s);            return;        }    } public class Test6_1 {    public static String convertIP(String str) throws InvalidIP { //定义公有静态方法convertIP实现转换,点分十进制IP地址为参数,转换后的二进制IP为返回值,在方法内检查参数IP地址的合法性,如非法,请抛出自定义异常InvalidIP        String[] ipstr = str.split("\\.");        String return_ip = null;        if (ipstr.length==4) {            int[] array = Arrays.stream(ipstr).mapToInt(Integer::parseInt).toArray();            String[] ipa = new String[4];            for(int i=0;i<array.length;i++)            {                if (array[i]<1 || array[i]>255){                    throw new InvalidIP("各段数值不是0~255范围!"+"\n"); // 出现字段不在1-255之间,抛出异常                }else{                    String x = Integer.toBinaryString(array[i]);                    String ip8 = "00000000";                    ipa[i] = ip8.substring(0, ip8.length() - x.length()) + x;                    if(ipa[1]!=null&&ipa[2]!=null&&ipa[3]!=null){                        String ip = StringUtils.join(Arrays.asList(ipa), ".");                        return_ip = ip;                    }                }            }        }else{            throw new InvalidIP("点分十进制IP段数不是4!"+"\n"); // 字段数量溢出,抛出异常1        }        return return_ip;    }    public static void main(String[] args){        while(true) {            Scanner in = new Scanner(System.in);            System.out.println("请输入IP地址:");            String str = in.nextLine();            try {                System.out.println("转换为二进制:"+convertIP(str)+"\n");            }            catch(InvalidIP e) {                System.out.println(e.getMessage());            }        }    }}

到此,关于“Java怎么实现IP地址到二进制的转换”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Java怎么实现IP地址到二进制的转换

本文链接: https://www.lsjlt.com/news/300585.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java怎么实现IP地址到二进制的转换
    这篇文章主要介绍“Java怎么实现IP地址到二进制的转换”,在日常操作中,相信很多人在Java怎么实现IP地址到二进制的转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现IP地址到二进制的转换...
    99+
    2023-06-21
  • Java实现IP地址到二进制的转换
    Java编程实现十进制IP地址到二进制IP地址的转换。 如:192.168.1.100,转换后:11000000.10101000.00000001.01100100 要求: 1.定...
    99+
    2022-11-12
  • 域名到ip地址的转换通过什么实现
    域名到ip地址的转换是通过DNS协议来实现的。DNS是一种分布式网络目录服务,DNS 协议建立在UDP或TCP协议之上,默认使用 53 号端口,大多数因特网服务依赖于DNS而工作,一旦DNS出错,就无法连接网络,任何与网络有关的操作都不能使...
    99+
    2022-10-15
  • Java图片与二进制相互转换怎么实现
    这篇文章主要介绍了Java图片与二进制相互转换怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java图片与二进制相互转换怎么实现文章都会有所收获,下面我们一起来看看吧。1、下面是一个完整的代码示例指定文...
    99+
    2023-07-05
  • PHP根据IP地址怎么实现城市切换或跳转
    这篇“PHP根据IP地址怎么实现城市切换或跳转”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“PHP根据IP地址怎么实现城市切换或跳转”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢...
    99+
    2023-06-06
  • QT怎么实现二、八、十六进制之间的转换
    这篇文章主要讲解了“QT怎么实现二、八、十六进制之间的转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT怎么实现二、八、十六进制之间的转换”吧!主要使用QT中的三个方法。第一个是QStr...
    99+
    2023-06-30
  • 基于Java解决华为机试实现整数与IP地址间的转换
    目录1.简述示例12.代码实现1.简述 描述: 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。 举例:...
    99+
    2022-11-13
  • MySQL怎么有效的实现存储IP地址及字符串IP和数值之间的转换
    小编给大家分享一下MySQL怎么有效的实现存储IP地址及字符串IP和数值之间的转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!之间,建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储I...
    99+
    2023-06-22
  • 怎么使用Java实现进制转换工具类
    本文小编为大家详细介绍“怎么使用Java实现进制转换工具类”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Java实现进制转换工具类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。原理低进制转换到高进制的时...
    99+
    2023-07-05
  • 使用Java 怎么实现一个判断IP地址是否合法的功能
    本篇文章为大家展示了使用Java 怎么实现一个判断IP地址是否合法的功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java 判断IP地址的合法性0.前言有时候我们要对用户输入的IP地址进行校验,...
    99+
    2023-05-31
    java ip地址 ava
  • 在Java项目中使用Request怎么实现获取客户端的IP地址
    今天就跟大家聊聊有关在Java项目中使用Request怎么实现获取客户端的IP地址,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在JSP里,获取客户端的IP地址的方法是:reques...
    99+
    2023-05-31
    request java ip地址
  • 怎么使用java进制转换工具类实现减少参数长度
    这篇“怎么使用java进制转换工具类实现减少参数长度”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用java进制转换工...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作