java吧 关注:1,219,343贴子:12,669,212

救救孩子。。。。。

只看楼主收藏回复

题目是这样子的:
编写一个方法验证一个IP地址的格式是否正确,正确返回true,不正确返回false。IP地址由4部分构成,即a.b.c.d,每个部分是0~255的整数。

程序可以运行,但就是不管输入什么,超过255和负数结果都是true,实在没招了,想请各位大佬看看哪里错了,感激不尽。


IP属地:广东1楼2018-11-09 01:44回复
    return 写到for循环外面去


    IP属地:湖南来自Android客户端2楼2018-11-09 02:56
    收起回复
      请记住,编程最难的,在于取变量名。


      IP属地:北京来自Android客户端3楼2018-11-09 06:20
      收起回复
        不会, 看看IPAddress 的实现呗,isValidIPv4 方法


        4楼2018-11-09 08:07
        回复
          你输入的如果不是数字,那是咋样处理的


          IP属地:河北来自Android客户端5楼2018-11-09 08:08
          回复(3)
            建议先把代码格式化一下。看着眼睛难受


            IP属地:四川来自Android客户端6楼2018-11-09 08:09
            回复(2)
              你输入的值是啥


              IP属地:山东7楼2018-11-09 08:41
              回复(1)
                split.我记得应该要转义


                IP属地:浙江来自Android客户端8楼2018-11-09 08:52
                回复
                  ip.split("\\.");


                  IP属地:北京9楼2018-11-09 09:04
                  回复(3)
                    路过。。。。。。。。。。。。。。。。


                    IP属地:重庆10楼2018-11-09 09:12
                    回复
                      为什么现在看见不写注释的,我看都不想看,能力退步了么


                      IP属地:湖南来自手机贴吧12楼2018-11-09 09:38
                      收起回复
                        你可以debug运行,错误不就一目了然了。9楼说的是对的


                        IP属地:四川13楼2018-11-09 09:45
                        回复
                          或|,点.,加+,乘*,在字符串中出现时,如果这个字符串需要被split,则split时候,需要在前面加两个反斜杠。 与&,在split时候,不需要转义。
                          返回true很明显是if没进去,定义完数组后输出看一下就知道对不对了。。。还有。。你写代码的格式真得规范一下,看着难受


                          IP属地:山东14楼2018-11-09 09:56
                          收起回复
                            正则表达式点代表所有字符。。


                            IP属地:广东15楼2018-11-09 10:08
                            回复
                              ((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))
                              ip正则表达式,java的话把单\改成\\就行了


                              IP属地:河北17楼2018-11-09 11:28
                              收起回复