返回顶部
首页 > 资讯 > 精选 >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://lsjlt.com/news/300585.html(转载时请注明来源链接)

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

猜你喜欢
  • Java实现IP地址到二进制的转换
    Java编程实现十进制IP地址到二进制IP地址的转换。 如:192.168.1.100,转换后:11000000.10101000.00000001.01100100 要求: 1.定...
    99+
    2024-04-02
  • Java怎么实现IP地址到二进制的转换
    这篇文章主要介绍“Java怎么实现IP地址到二进制的转换”,在日常操作中,相信很多人在Java怎么实现IP地址到二进制的转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现IP地址到二进制的转换...
    99+
    2023-06-21
  • java实现IP地址转换
    一个IP地址是用四个字节(每个字节8位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。 输入数据要求: 必须为二进制数,即只能输入0或者1 长...
    99+
    2024-04-02
  • 域名到ip地址的转换通过什么实现
    域名到ip地址的转换是通过DNS协议来实现的。DNS是一种分布式网络目录服务,DNS 协议建立在UDP或TCP协议之上,默认使用 53 号端口,大多数因特网服务依赖于DNS而工作,一旦DNS出错,就无法连接网络,任何与网络有关的操作都不能使...
    99+
    2024-04-02
  • Java图片与二进制相互转换怎么实现
    这篇文章主要介绍了Java图片与二进制相互转换怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java图片与二进制相互转换怎么实现文章都会有所收获,下面我们一起来看看吧。1、下面是一个完整的代码示例指定文...
    99+
    2023-07-05
  • 二进制怎么转换
    这篇文章主要介绍“二进制怎么转换”,在日常操作中,相信很多人在二进制怎么转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”二进制怎么转换”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!那么我们就去改变他,这...
    99+
    2023-06-03
  • Win8使用IE10转到复制的地址功能实现复制网址到地址栏
      如果我们需要在另一个浏览器打开同一个网站,一般复制网址到地址栏,再回车或点击地址栏右侧的“转至”来实现。在Win8的IE10浏览器中,可以使用“转到复制的地址&rdq...
    99+
    2022-06-04
    转到 地址栏 地址
  • 怎么用PHP实现IP地址跳转
    在网络开发过程中,经常需要根据用户的IP地址来实现目标地址的跳转,这种跳转方式可以用于访客的地理位置选择、网站语言转换、广告投放等方面。本文将介绍如何使用PHP实现IP地址跳转。第一步:获取访客的IP地址使用PHP处理IP地址,需要首先获取...
    99+
    2023-05-14
    php
  • php如何实现IP地址和整数的转换
    今天小编给大家分享一下php如何实现IP地址和整数的转换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。IP地址是计算机互联网...
    99+
    2023-07-06
  • java怎么将二进制字符串转换成十进制
    在Java中,可以使用`Integer.parseInt()`方法将二进制字符串转换为十进制数。以下是一个示例代码:```javap...
    99+
    2023-09-20
    java
  • PHP根据IP地址怎么实现城市切换或跳转
    这篇“PHP根据IP地址怎么实现城市切换或跳转”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“PHP根据IP地址怎么实现城市切换或跳转”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢...
    99+
    2023-06-06
  • QT怎么实现二、八、十六进制之间的转换
    这篇文章主要讲解了“QT怎么实现二、八、十六进制之间的转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT怎么实现二、八、十六进制之间的转换”吧!主要使用QT中的三个方法。第一个是QStr...
    99+
    2023-06-30
  • Java实现任意进制转换
    本文实例为大家分享了Java实现任意进制转换的具体代码,供大家参考,具体内容如下 问题描述 编写程序实现任意进制间的相互转换 (一)、进制转换思想 1、先把任意进制转化为十进制 2、...
    99+
    2024-04-02
  • Python怎么实现进制转换
    这篇文章主要介绍“Python怎么实现进制转换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么实现进制转换”文章能帮助大家解决问题。使用int()转换int()类可将数字或字符串转换为...
    99+
    2023-06-28
  • C#怎么实现进制转换
    今天小编给大家分享一下C#怎么实现进制转换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。十进制整数与其他进制的字符串之间的转...
    99+
    2023-06-30
  • php怎么将二进制转换为十进制
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php将二进制转换为十进制1、使用bindec()函数bindec($binary_string) 函数把二进制数$binary_string转换为十进制数。<p...
    99+
    2022-04-02
    php 进制转换 二进制转十进制
  • 怎么用Python实现进制转换
    这篇文章主要讲解了“怎么用Python实现进制转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python实现进制转换”吧!Python 实现进制转换一、导言导语:在计算机进行数据交...
    99+
    2023-06-02
  • C语言实现十六进制与二进制的相互转换
    目录十六进制->二进制二进制->十六进制本文中的代码可以将文件中的十六进制存储与二进制存储相互转换。 十六进制->二进制 原理是:每两位存储为一个字符(char)保...
    99+
    2022-11-13
    C语言 十六进制转二进制 C语言 二进制转十六进制 C语言 二进制 十六进制
  • QT实现二、八、十六进制之间的转换
    主要使用QT中的三个方法。 第一个是QString::number(int n, int base = 10);第二个是QString::setNum(short n, int ba...
    99+
    2024-04-02
  • 怎么使用Java实现进制转换工具类
    本文小编为大家详细介绍“怎么使用Java实现进制转换工具类”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Java实现进制转换工具类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。原理低进制转换到高进制的时...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作