ip字符串,二进制转十进制输出
题目:
输入:
第一行输入字符串个数n,余下几行输入ip二进制字符串

输出:
按*.*.*.*格式输出十进制ip

代码实现:
package ip;
import java.util.Scanner;
public class iptest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(); //nextint以一个int为结尾,光标还在本行
sc.nextLine(); //要用nextLine获取"Enter"键,跳转到下一行
//int n=Integer.parseInt(sc.nextLine()); 或者使用这一句代替上两行
String[] ipString=new String[n];
for(int i=0;i<n;i++) {
ipString[i]=sc.nextLine();
}
for(int i=0;i<n;i++) {
printIP(ipString[i]);
}
}
//将传入的ip二进制字符串,转成十进制,并输出
public static void printIP(String s) {
int num[]=new int[4];
int ipArray[][]=new int[4][8];
int k=0;
//将字符串中数字存入int数组
//字符c ——>int k 转换方法: int k=Integer.parseInt(String.valueOf(c))
for(int i=0;i<4;i++)
for(int j=0;j<8;j++)
ipArray[i][j]=Integer.parseInt(String.valueOf(s.charAt(k++)));
//将每四个8个二进制数存入数组
for(int i=0;i<4;i++) {
num[i]=0;
for(int j=0;j<8;j++) {
num[i]+=ipArray[i][j]*Math.pow(2,7-j);
}
}
//将每个二进制数转换成对应的十进制数,并按照格式 *.*.*.* 输出
int j=1;
for(int i=0;i<4;i++) {
System.out.printf("%d",num[i]);
if(j++<4)
System.out.printf(".");
else
System.out.println();
}
}
}
注意点:
1.scanner用法:nextInt以一个 int类型数字结束,nextLine以enter字符结束
2.char转int : 先将char转成string,再转成int
3.java中乘方的用法 a的b次方:Math.pow(a,b)
ip字符串,二进制转十进制输出的更多相关文章
- erlang中通过ip和子网掩码,计算地址范围 【二进制和十进制的转换】
在程序中,难免用的二进制和十进制之间的转换.遇到一个场景,通过ip和子网掩码,计算地址范围. 而地址范围为:网络地址+1—— 广播地址 -1 . 网络地址即ip和子网掩码的与的位运算.广播地址为:网 ...
- 汇编语言从键盘输入一个字符串(串长不大于80)以十进制输出字符串中非字母字符的个数(不是a to z或 A to Z)
(1)从键盘输入一个字符串(串长不大于80). (2)以十进制输出字符串中非字母字符的个数(不是a to z或 A to Z). (3)输出原字符串且令非字母字符闪烁显示. (4)找出字符串中ASCI ...
- 怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结
转至:https://blog.csdn.net/erlian1992/article/details/47342189 最近一直在看全国计算机三级网络技术这本书,看到第二章的时候,不免会遇到计算机中 ...
- C#中二进制、十进制和十六进制互相转换的方法
二进制在C#中无法直接表示,我们一般用0和1的字符串来表示一个数的二进制形式.比如4的二进制为"100".下面介绍C#里面用于进制转换的方法. 十进制转换为二进制(int--> ...
- MATLAB中FFT_HDL_Optimized模块定点(IEEE754单精度float格式)二进制与十进制转换实现
早些时间段,做了Matlab中FFT_HDL_Optimzed模块FFT HDL代码仿真,并与Xilinx Vivado自带的xfft IP进行单精度浮点比较(后面随笔叙述).因为FFT_HDL_Op ...
- Matlab常用函数:二进制和十进制转换,均值,方差
文章目录 Size s=size(A) [r,c]=size(A) [r,c,m]=size(A) size(A,n) 二进制和十进制转换 dec2bin mean 均值 mean(a,1) mean ...
- js二进制与十进制互转
十进制转换为二进制: var num = 100; console.log(num.toString(2)); toString()方法可把一个 Number 对象转换为一个字符串,并返回结果. 语法 ...
- Java中将0x开头的十六进制字符串转换成十进制整数
1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...
- C++读入二进制数并转换为十进制输出
题目描述 已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出. 输入描述 输入一个二进制整数n,其长度不大于10 输出描述 输出转换后的十进制数,占一行 样例输入 样例输出 sol ...
随机推荐
- OCR技术初识
一.什么是OCR OCR英文全称是Optical Character Recognition,中文叫做光学字符识别.它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接 ...
- MyEclipse如何修改XML文件默认行宽
1.MyEclipse如何修改XML文件默认行宽 Windows--->Preferences--->搜索xml--->XML--->XML Source--->Form ...
- yii2项目中运行composer 过程中遇到的问题
问题1: Your requirements could not be resolved to an installable set of packages 则表明 未安装fxp/composer-a ...
- glibc 2.x release note
glibc 2.x release note,参见: https://sourceware.org/glibc/wiki/Glibc%20Timeline https://www.gnu.org/so ...
- oracle parallel_index hint在非分区表的生效
之前没特别注意,在有些场景下希望使用并行索引扫描的时候,发现parallel_index hint并没有生效,于是抽空看了下文档:The PARALLEL_INDEX hint instructs t ...
- ssh连接出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
ssh远程连接的时候出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!连接失败 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- 推荐 Net C# 逆向反编译四大工具利器
参考:https://blog.csdn.net/kongwei521/article/details/54927689/
- 前端基础小标签5 H5的一些新标签属性
第二部分 部分图片和内容摘要于网络 二. formaction 属性规定当表单提交时处理输入控件的文件的 URL. formaction 属性覆盖 <form> 元素的 action 属性 ...
- Vue父子组件生命周期
转载自:https://blog.csdn.net/a8725585/article/details/79092505 vue父子组件钩子函数触发顺序 beforeMount后mounted前构造子组 ...
- js的原型prototype究竟是什么?
Javascript也是面向对象的语言,但它是一种基于原型Prototype的语言,而不是基于类的语言.在Javascript中,类和对象看起来没有太多的区别. 1.什么是prototype: fun ...