博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 1590 IP Networks JAVA
阅读量:5772 次
发布时间:2019-06-18

本文共 1536 字,大约阅读时间需要 5 分钟。

题意:输入m代表接下来的数据个数,计算接下来输入数据的网络掩码,和最小网络地址。 思路: ①子网掩码:先将数据转为二进制,判断从哪一位开始有数据不一样,记下下标index, 则子网掩码是index的前面是1,后面是0(2#),就是子网掩码,再转为10#输出;
②最小网络地址:用任意一个IP与子网掩码进行按位与运算得出最小IP,与运算的符号为&。
1 import java.util.Scanner; 2  3 public class UVA1590 { 4  5     public static void main(String[] args) { 6             Scanner scanner=new Scanner(System.in); 7             int m; 8             while(scanner.hasNext()) 9             {10                 m=scanner.nextInt();11                 String[][] strTwo=new String[1000][4];//输入的数据存为二进制12                 StringBuffer[] stringBuffer=new StringBuffer[4];13                 int[] resCover=new int[4];//掩码结果 10#14                 int[] resMin=new int[4];//最小网络地址结果 10#15                 int [][] numTen = new int[1000][4];//输入的数据存为10进制16                 for(int i=0;i
int 10#25 strTwo[i][j]=Integer.toBinaryString(numTen[i][j]);//10#->2#26 numTwo[j]=Integer.parseInt(strTwo[i][j]);//string->int 2#27 strTwo[i][j]=String.format("%08d", numTwo[j]);//2# 标准化,如果有1000->0000100028 }29 }30 int index=32;//最左一个不同出现的地方的下标,他前面全是1,后面全是0(子网掩码)31 boolean flag=true;32 for(int j=0;j<4&&flag;j++)33 {34 35 for(int k=0;k<8&&flag;k++)36 {37 char ch=strTwo[0][j].charAt(k);38 for(int l=0;l

 

转载于:https://www.cnblogs.com/fudanxi/p/10328185.html

你可能感兴趣的文章
asp.net application life cycle
查看>>
Spark的性能调优
查看>>
入职新人技术引导之我见
查看>>
linux下mongo启动关闭重启方法
查看>>
一些网站
查看>>
语音特征参数MFCC提取过程详解
查看>>
使用GitHub进行版本管理
查看>>
如何选择适合你的渲染软件
查看>>
c++动态规划解决硬币换零钱的问题
查看>>
Qt下几个线程函数介绍
查看>>
Passware Kit和AOPR哪个更厉害?
查看>>
Loading XML with Javascript
查看>>
C++、Java、JavaScript中迭代器的用法
查看>>
jackson not marked as ignorable异常
查看>>
Python version 2.7 required, which was not foun...
查看>>
android 模拟器 横竖屏切换
查看>>
centos7.3 下安装 composer,解决Failed to decode zlib stream错误
查看>>
Git 常用命令
查看>>
在Postgres 数据库中生成36位的UUID代码
查看>>
基于mybatis的BaseDao及BaseService深度结合
查看>>