美文网首页
判断一个字符串是否是Ip地址

判断一个字符串是否是Ip地址

作者: 落叶随风花落入泥 | 来源:发表于2018-05-22 14:11 被阅读0次

面试的一道算法题

 public class Test_ip {
 2     //程序入口
 3     public static void main(String[] args) {    
 4         Solution s = new Solution();    // 业务逻辑放在Solution类里面
 5         //String test_str = "12.34.56.67";
 6         String test_str = "256.34.56.67";    // 待解决的字符串
 7         boolean res = s.test_ip(test_str);    //调用判断方法
 8         System.out.println(res);    //输出结果
 9     }
10 }
11 
12 class Solution{
13     /**
14      * 判断一个字符串是否是一个合法的ip地址:
15      *    1 首先检查字符串的长度 最短应该是0.0.0.0 7位 最长 000.000.000.000 15位
16      *    2 尝试按.符号进行拆分     拆分结果应该是4段
17      *    3 查看拆分到的每一个子字符串,应该都是纯数字
18      *    4 对拆分结果转成整数 判断 应该是0到255之间的整数
19      *    5 经过各种磨砺之后 挺过来了!!!返回true
20      */
21     public boolean test_ip(String str){
22         // 1 首先检查字符串的长度 最短应该是0.0.0.0 7位 最长 000.000.000.000 15位
23         if(str.length()<7 || str.length() >15) return false;    // 如果长度不符合条件 返回false
24         
25         // 2 尝试按.符号进行拆分     拆分结果应该是4段
26         String[] arr = str.split("\\.");
27         if( arr.length != 4 )    return false;    //如果拆分结果不是4个字串 返回false
28         
29         // 3 查看拆分到的每一个子字符串,应该都是纯数字
30         for(int i = 0 ; i <4 ; i++ ){
31             for(int j = 0; j<arr[i].length();j++){
32                 char temp = arr[i].charAt(j);
33                 if(!( temp>'0' && temp< '9' ) ) return false;    //如果某个字符不是数字就返回false
34             }
35         }
36         
37         // 4 对拆分结果转成整数 判断 应该是0到255之间的整数
38         for(int i = 0 ; i<4;i++){
39             int temp = Integer.parseInt( arr[i] );
40             if( temp<0 || temp >255)    return false;    //如果某个数字不是0到255之间的数 就返回false
41         }
42         
43         // 5 经过各种磨砺之后 挺过来了!!!返回true
44         return true;
45     }
46 }

相关文章

  • 2018-09-11 Day17-作业

    判断是否是邮箱 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用.连接...

  • iOS正则表达式验证用户名、邮箱等信息是否合法

    判断字符串是否有空格 判断IP地址是否正确 判断密码格式是否正确 判断用户名格式是否正确(目前校验规则是大小写字符...

  • C语言判断给定的字符串是否为合法的ip地址的代码

    下面内容是关于C语言判断给定的字符串是否为合法的ip地址的内容。 #include #include in...

  • day17作业

    import re 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用....

  • 18作 正则表达式

    import re 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用....

  • 2018-10-23 Day18作业

    import re 1. 写一个正则表达式判断一个字符串是否是ip地址 规则:一个ip地址由4个数字组成,每个数字...

  • 2018-10-23day18-作业

    import re 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用....

  • Day-18 - 作业(2018-10-24)

    import re 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用....

  • 2018-10-23作孽

    import re 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用....

  • Day18作业

    import re 写一个正则表达式判断一个字符串是否是ip地址 规则:一个ip地址由4个数字组成,每个数字之间用...

网友评论

      本文标题:判断一个字符串是否是Ip地址

      本文链接:https://www.haomeiwen.com/subject/vmbhjftx.html