java检查IPv4地址是否有效
我试图用Java编写一个基本程序,检查IP地址是否有效。除了Scanner类,我尝试不使用任何外部类,也不使用正则表达式
我的代码在this gist上可用,它接受4个整数作为输入,每个八位字节一个。我还有this code,它的可读性比第一个略高,但更长
我的问题是,有没有其他方法可以在更少的行中实现这个想法,如果有,我将如何实现这一点
你可以在下面搜索框中键入要查询的问题!
我试图用Java编写一个基本程序,检查IP地址是否有效。除了Scanner类,我尝试不使用任何外部类,也不使用正则表达式
我的代码在this gist上可用,它接受4个整数作为输入,每个八位字节一个。我还有this code,它的可读性比第一个略高,但更长
我的问题是,有没有其他方法可以在更少的行中实现这个想法,如果有,我将如何实现这一点
# 1 楼答案
我只是觉得无聊,写了这个regexp
并在以下数据集上进行了测试:
# 2 楼答案
你的方法是检查每个八位组
您可以简单地执行4次,或为此编写一个方法:
并在主方法中使用此方法
注意-这只显示第一个无效的八位字节-如果要检查所有内容,需要另一个布尔值
一种完全不同的方法是使用http://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html#getByName%28java.lang.String%29
但是这也没有提供关于八位组的信息,这是无效的
(顺便问一下,你的代码有什么问题吗?真的很好!)
# 3 楼答案
虽然这个代码段有点冗长,但它简单、自描述性,并且已经被证明是紧凑的
# 4 楼答案
只有一些小的改进(我认为你的代码看起来很好,到目前为止,我的观点是),它很容易阅读,所有的工作块都很容易理解
所以我简单地颠倒了打印的顺序-这只为您节省了之前的大检查