看看下面的代码。除了有效性,它还检查它所属的IP地址类以及它是否是保留的IP地址

Pattern ipPattern;

int[] arr=new int[4];

int i=0;

//Method to check validity

private String validateIpAddress(String ipAddress) {

Matcher ipMatcher=ipPattern.matcher(ipAddress);

//Condition to check input IP format

if(ipMatcher.matches()) {

//Split input IP Address on basis of .

String[] octate=ipAddress.split("[.]");

for(String x:octate) {

//Convert String number into integer

arr[i]=Integer.parseInt(x);

i++;

}

//Check whether input is Class A IP Address or not

if(arr[0]<=127) {

if(arr[0]==0||arr[0]==127)

return(" is Reserved IP Address of Class A");

else if(arr[1]==0&&arr[2]==0&&arr[3]==0)

return(" is Class A Network address");

else if(arr[1]==255&&arr[2]==255&&arr[3]==255)

return( " is Class A Broadcast address");

else

return(" is valid IP Address of Class A");

}

//Check whether input is Class B IP Address or not

else if(arr[0]>=128&&arr[0]<=191) {

if(arr[2]==0&&arr[3]==0)

return(" is Class B Network address");

else if(arr[2]==255&&arr[3]==255)

return(" is Class B Broadcast address");

else

return(" is valid IP Address of Class B");

}

//Check whether input is Class C IP Address or not

else if(arr[0]>=192&&arr[0]<=223) {

if(arr[3]==0)

return(" is Class C Network address");

else if(arr[3]==255)

return(" is Class C Broadcast address");

else

return( " is valid IP Address of Class C");

}

//Check whether input is Class D IP Address or not

else if(arr[0]>=224&&arr[0]<=239) {

return(" is Class D IP Address Reserved for multicasting");

}

//Execute if input is Class E IP Address

else {

return(" is Class E IP Address Reserved for Research and Development by DOD");

}

}

//Input not matched with IP Address pattern

else

return(" is Invalid IP Address");

}

public static void main(String[] args) {

Scanner scan= new Scanner(System.in);

System.out.println("Enter IP Address: ");

//Input IP Address from user

String ipAddress=scan.nextLine();

scan.close();

IPAddress obj=new IPAddress();

//Regex for IP Address

obj.ipPattern=Pattern.compile("((([0-1]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}([0-1]?\\d\\d?|2[0-4]\\d|25[0-5]))");

//Display output

System.out.println(ipAddress+ obj.validateIpAddress(ipAddress));

}

java获取ip地址不重复,如何在android(Java)中验证Ip地址[重复]相关推荐

  1. Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL

    Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL >>>>>>>>>>>>> ...

  2. linux查看Windows的ip命令,在windows系统和linux系统中查询IP地址命令的不同

    在linux和windows系统上查询IP地址的命令是不一样的. 在linux中的命令行模式下,输入ifconfig即可查询到IP.而在windows系统下要查询IP地址需要先打开dos命令行,然后输 ...

  3. 如何在JavaScript中验证电子邮件地址

    如何在JavaScript中验证电子邮件地址? #1楼 与squirtle相比 ,这是一个复杂的解决方案,但是在正确验证电子邮件方面做得非常出色: function isEmail(email) { ...

  4. 在java中添加源_关于Java:如何在Android Studio中添加链接的源文件夹?

    在Eclipse中,我可以将源文件夹作为"链接的源文件夹"添加到我的android项目中. 如何在Android Studio中实现同一目的? 或者是否可以添加外部文件夹以构建gr ...

  5. android getter不起作用,java - 如何在Android Studio中自动生成getter和setter

    java - 如何在Android Studio中自动生成getter和setter Android Studio中是否有一个快捷方式可以自动生成给定类中的getter和setter? 14个解决方案 ...

  6. Android多个imei如何获取,如何在Android 10中获取IMEI号,这是获取在Android 10及以下Android 10中获取IMEI号的代码...

    如何在android 10中获取imei编号,这是获取在android 10及以下android 10中获取imei编号的代码. if (android.os.Build.VERSION.SDK_IN ...

  7. android在java下建立模块,Android Studio:如何在Android模块中包含Java模块?

    在Android工作室我有一个Android模块,我们称之为MyAndroid.我还有一个Java模块(不是独立的JAR,而是模块中的完整Java项目),我们称之为MyJava.Android Stu ...

  8. android 输入ip地址,我应该使用什么android:inputType输入IP地址?

    我应该使用什么android:inputType输入IP地址? 我正在构建一个小型Android应用程序,用户将在其中将IP地址或主机名输入到EditText小部件中. 他们有90%的时间将输入IP地 ...

  9. android开发使用c+_如何在Android项目中开始使用C ++代码

    android开发使用c+ by Onur Tuna 通过Onur Tuna 如何在Android项目中开始使用C ++代码 (How to start using C++ code in your ...

最新文章

  1. Monte Carlo概率模型进行分子动力学模拟并计算苯甲醚键值
  2. pikachu漏洞靶机之xss漏洞post提交方式
  3. 使用ELK堆栈进行日志聚合
  4. POJ3096Surprising Strings(map)
  5. 只保留日期_时间序列:日期范围、频率与偏移量
  6. 心语收集14:人生没有如果,但是有很多但是;人生不能后悔,但是可以拐弯。...
  7. springBoot整合Dubbo使用与采坑
  8. 电工与电子技术基础【3】
  9. 【C++】:动态库与静态库区别
  10. 计算机除了冯诺依曼架构,什么是实用的非冯·诺依曼架构?
  11. 如何写好一篇技术型文档?
  12. 插上U盘没反应/U盘不显示/显示U盘图标但是不显示盘符
  13. C++动态壁纸软件的开发(含源文件)
  14. 数据结构之线性表(顺序表、链表、栈、队列)
  15. Recap Language Model (LM) -- 自然语言处理中的预训练,对于Bert、ELMO、GPT的一些思考
  16. 去除迅雷右侧资源信息栏和迅雷广告,以及迅雷的速度限制修改
  17. python自学爬虫要多久_自学python爬虫需要多久
  18. adf被打开_HP Laserjet M1522nf 出现ADF门打开 是什么意思
  19. 刚学习阿里云VOD,获取视频播放地址
  20. opencv 提取彩色图像轮廓

热门文章

  1. SAP Spartacus auto focus Directive响应模型变化的一些触发时机例子
  2. 如何在SAP Spartacus的scss里引入全局变量
  3. 让outlook邮件里默认不显示发送方的头像
  4. Spring 基于注解(annotation)的配置之@Qualifier注解
  5. 编程语言里函数方法类型检查的重要性
  6. Method 'GET_ENTITYSET' not implemented in data provider class - correct case
  7. SAP plant and location
  8. 还在用ABAP进行SAP产品的二次开发?来了解下这种全新的二次开发理念吧
  9. SAP CRM WebClient UI的cross component navigation跳转
  10. Service Team在索引表CRMD_ORDER_INDEX中的存储设计