【Java】【字符串】IP地址与整数的相互转换

2023-11-06

package itheima2;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入字符串Ip地址:");
        String str = scanner.nextLine();
        System.out.println(ipToLong(str));
        System.out.print("请输入整数形式:");
        Long NumberIP = scanner.nextLong();
        System.out.println(longToIP(NumberIP));
        System.out.println(longToIP(NumberIP) + "的二进制形式:" + Long.toBinaryString(NumberIP));


    }
    public static long ipToLong(String str){
        String IP[] = str.split("\\.");//注意:.在正则表达式有有特殊含义,使用转义字符
        Long number = (Long.parseLong(IP[0]) << 24) + (Long.parseLong(IP[1]) << 16) +
                (Long.parseLong(IP[2]) << 8) + (Long.parseLong(IP[3]));
        return number;
    }
    public static String longToIP(long IP){
        StringBuilder builder = new StringBuilder("");
        builder.append(String.valueOf(IP>>>24));
        builder.append(".");
        builder.append(String.valueOf((IP&0x00FFFFFF)>>>16));
        builder.append(".");
        builder.append(String.valueOf((IP&0x0000FFFF)>>>8));
        builder.append(".");
        builder.append(String.valueOf(IP&0x000000FF));
        return builder.toString();

    }


}

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Java】【字符串】IP地址与整数的相互转换 的相关文章

  • tp5中树状图数据格式的返回

    1 条件 数据库中的数据必须是无限递归数据 2 数据处理 public function treeListApi list this gt db class gt field id name parent id gt where is de
  • str功能的实现

    1 strcat 功能 把src所指字符串添加到dest结尾处 覆盖dest结尾处的 0 并添加 0 程序 char strcat char dest const char src char addr dest int i 0 j 0 as
  • 私服的搭建

    私服 基于nexus 3 20 1 下载地址 https help sonatype com repomanager3 download 目前该下载地址国内下载根本下载不了 你可以去百度找找看 分享一个百度网盘下载链接 链接 https p
  • Oracle 索引

    1 索引介绍 索引是用于加速数据存取的数据对象 是对数据表中一个或多个列进行排序的结构 合理的使用索引可以大大降低I O次数 从而提高数据访问性能 2 问题 为什么需要索引 Select from scott emp where empno
  • python(五)函数、模块、包

    模块 包的概念 在Python中 一个 py文件就称之为一个模块 Module 我们在编写程序的时候 也经常引用其他模块 包括Python内置的模块和来自第三方的模块 你也许还想到 如果不同的人编写的模块名相同怎么办 为了避免模块名冲突 P
  • oracle多个表count值求和

    union和union all关键字都是将两个结果集合并为一个 但这两者从使用和效率上来说都有所不同 union在进行表链接后会筛选掉重复的记录 所以在表链接后会对所产生的结果集进行排序运算 删除重复的记录再返回结果 而union all只
  • docker安装fastDFS

    一 docker安装 1 搜索镜像 2 拉取镜像 最新版本 docker pull delron fastdfs 3 使用镜像构建容器 3 1 创建tracker容器 docker run dti network host name my
  • js-yaml简单使用

    安装 js yaml npm install js yaml index js let fs require fs let content fs readFileSync text yaml encoding utf8 let yaml r
  • img加载图片的三种方式

    方式一 src指向图像的位置 最常用的一种方式 无需搭配后端代码 img src img boat gif alt Big Boat 方式二 src执行后台路径 获取图片的字节数组 前端代码 img src getImage alt Big
  • ubuntu20.04网络配置

    安装net tools sudo apt get install net tools 2 ifconfig查看网卡设备 其中flags表中 running表示正在使用中 查看设备核心网络路由表 route n Destination 目标网
  • 将AWS S3大文件文件上传相关的API集成为js文件,功能包括 多文件并行上传、文件分片上传、断点续传、文件分片合成、上传暂停、取消上传、文件上传进度条显示

    地址 https github com gk 1213 easy s3 tree main 效果 直接运行vue example文件就行 easy s3 将AWS S3大文件文件上传相关的API集成为js文件 功能包括多文件并行上传 文件分
  • 【C-函数】scanf函数原理

    文章目录 1 行缓冲 2 scanf原理 3 scanf案例 1 代码 2 结果 1 行缓冲 行缓冲的意思就是我们输入的字符放入缓冲区 直到输入了回车键进行换行才进行 I O 操作 2 scanf原理 在C中的标准输入函数scanf 使用的
  • Xilinx FPGA PCIe XDMA性能测试报告(二)

    1 测试内容 本报告对Xilinx FPGA的PCIe XDMA结合DDR4 SDRAM缓存的性能进行了测试 同时 给出了具体的测试框图 测试平台 测试步骤 测试记录等内容 2 测试框图 3 测试平台 硬件平台 Dell R330 Inte
  • 求解汉诺塔问题(提示, 使用递归)

    汉诺塔问题是一个经典的问题 汉诺塔 Hanoi Tower 又称河内塔 源于印度一个古老传说 大梵天创造世界的时候做了三根金刚石柱子 在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘 大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另
  • IDEA Unescaped xml character报错的解决办法

    File Settings里边 选择Editor Inspections 并在右边找到HTML下的Malformed content of
  • 对Verilog 初学者比较有用的整理(转自它处)

    作者 Ian11122840 时间 2010 9 27 09 04 标题 菜鸟做设计必看 有关如何
  • JAVA中容器的概念

    解释一 容器 Container Spring 提供容器功能 容器可以管理对象的生命周期 对象与对象之间的依赖关系 您可以使用一个配置文件 通常是XML 在上面定义好对象的名称 如何产生 Prototype 方式或Singleton 方式
  • x86中vdso数据段的初始化及更新和使用

    1 vdso 数据段的初始化 1 数据段的定义 vdso 数据段由内核进行声明和定义 其中 在链接脚本 arch x86 entry vdso vdso layout lds S 里指定了 vdso 的数据段的名称和位置 相关内容如下 SE
  • C++函数运用学习篇

    输入一个字符串 串内有数字和非数字字符 例如 abc456 sd78fd123s 789df 将其中连续的数字作为一个整数 依次存放到另一个整型数组b中 例如上述例子 将456放入b 0 中 78放入b 1 中 统计出整数的个数并输出这些整

随机推荐

  • JUC 九. CompletableFuture

    目录 一 CompletableFuture 计算结果完成时回调 一个线程的执行依赖另一个线程 二 根据案例再次了解 CompletableFuture supplyAsync 四 CompletableFuture 常用api简介 获取结
  • php opcode缓存的扩展xcache的使用

    安装的时候 跟安装其它扩展是一样的 wget http xcache lighttpd net pub Releases 3 1 0 xcache 3 1 0 tar gz tar xzf xcache 3 1 0 tar gz cd xc
  • 【综合类型第 36 篇】我的四周年创作纪念日

    这是 综合类型第 36 篇 如果觉得有用的话 欢迎关注专栏 今天早上习惯性的打开 CSDN 看下大家给我的点赞 收藏 评论和私信 其中有一条官方发送的消息 原来今天是我成为 IT 创作者四周年的纪念日 距离我在 2018 年 10 月 12
  • 背景图片填充整个div 不平铺

    第一步 div style width 400px height 400px div class aa div div 第二步 aa width 100 height 100 border 1px solid ccc background
  • 栈与队列理论知识【补】

    1 栈和队列有迭代器吗 为什么 迭代器的作用 C 中迭代器用于对数据结构中的元素进行顺序访问或随机访问 原因 因此 根据定义不允许顺序或随机访问的数据结构 迭代器就没有任何意义 栈 LIFO结构 任何时候只能访问栈顶元素 stack 源码
  • GAN学习之路(四):马尔可夫判别器(PatchGAN)

    概念 马尔可夫判别器是判别模型的一种 基于CNN的分类模型有很多种 很多网络都是在最后引入了一个全连接层 然后将判别的结果输出 输出结点 马尔可夫判别器则是不一样 直观来看 它完全由卷积层构成 最后输出的是一个n n的矩阵 最后取输出矩阵的
  • testNG中dataprovider使用的两种方式。

    testNG的参数化测试有两种方式 xml和dataprovider 个人更喜欢dataprovider 因为我喜欢把测试数据放在数据库里 一 返回类型是Iterator
  • 企业级springboot项目架构模板V5.0,开箱即用(针对中小型项目架构,免去重复造轮的操作,强烈推荐)

    下一个版本将整合sharding jdbc 且支持现有数据源的配置 请前往发行版下载 稳定版 https gitee com schema template quick template releases tag v5 0 master分支
  • LeetCode - 区间合并类问题

    合并区间 给出一个区间的集合 请合并所有重叠的区间 示例 1 输入 1 3 2 6 8 10 15 18 输出 1 6 8 10 15 18 解释 区间 1 3 和 2 6 重叠 将它们合并为 1 6 分析 C 排序 根据区间左边界排序 如
  • Effective C++ - Inheritance and Object-Oriented Design

    Effective C Inheritance and Object Oriented Design 前言 OOP面向对象编程 继承 单一继承 多重继承 public protected private virtual non virtua
  • Redis简明教程

    Redis是啥 用Redis官方的话来说就是 Redis is an open source BSD licensed in memory data structure store used as a database cache and
  • [ROS] roscore启动失败

    版本描述 Ubuntu18 04 ROS melodic 问题描述 ROS安装完成后 出现如下错误 具体原因是因为ROS1支持的是Python2 7 而我之前将Ubuntu自带的Python升级到了3 6 所以导致了相关的错误 nnboy
  • 伺服电机与编码器

    编码器的结构域工作原理 1 透射式旋转光电编码器 2 编码器的分辨率 3 编码器的分类和特点 按照工作原理 可以分为增量式和绝对式 4 伺服电机与编码器的工作 控制器驱动电机运转 电机带着编码器旋转 编码器的反馈信号输送到控制器 可以知道
  • 大数据毕设 深度学习 大数据 股票预测系统 - python lstm

    文章目录 0 前言 1 课题意义 1 1 股票预测主流方法 2 什么是LSTM 2 1 循环神经网络 2 1 LSTM诞生 2 如何用LSTM做股票预测 2 1 算法构建流程 2 2 部分代码 3 实现效果 3 1 数据 3 2 预测结果
  • ICLR2023《Crossformer: Transformer Utilizing Cross-Dimension Dependency for Multivariate Time Series》

    这是一篇ICLR2023 top 5 论文 论文链接 https openreview net pdf id vSVLM2j9eie 代码 https github com Thinklab SJTU Crossformer 1 Multi
  • dedecms--图片的轮播

    1 直接在php加代码 引入js css文件
  • shell脚本调用另一个脚本

    两种实现方式 shell脚本直接调用另一个脚本 shell脚本新建终端并执行另一个脚本 1 shell脚本直接调用另一个脚本 shellPath sh main shell script call other shell script ec
  • mysql 字符串分割函数substring_index用法

    实现和python split 函数一样的功能 mysql用函数substring index 用法 substring index str 分隔符 第n个分隔符之前的所有字符or倒数第n个分隔符之后的所有字符 例子 select subs
  • Qt4_深入信号和槽

    信号和槽 信号和槽是Qt 编程的一个重要部分 这个机制可以在对象之间彼此并不了解的情况下将它们的行为联系起来 在前几个例程中 我们已经连接了信号和槽 声明了控件自己的信号和槽 并实现了槽函数 发送了信号 现在来更深入了解这个机制 槽和普通的
  • 【Java】【字符串】IP地址与整数的相互转换

    package itheima2 import java util Scanner public class Main public static void main String args Scanner scanner new Scan