我要在Java中验证IP地址,该怎么办? IP地址必须采用以下格式:xxx.xxx.xxx.xxx 每个八位位组范围必须为0〜255。
由于IP已验证,因此代码必须显示一条消息,告知该IP有效或无效。如果没有,则用户必须再次键入IP。
到目前为止,我已经完成了将IP字符串转换为整数数组的方法...
public static void verify() {
Scanner input = new Scanner(System.in);
System.out.println("IP: (xxx.xxx.xxx.xxx)");
String ipAddress = input.nextLine();
int[] arrayIpAddress = Arrays.stream(ipAddress.split("\\.")).mapToInt(Integer::parseInt).toArray();
}
答案 0 :(得分:0)
在您的特定情况下,您可以添加一个过滤器并检查结果数组的长度:
.id
注意:如果String ipAddress = input.nextLine();
boolean ipValid = Arrays
.stream(ipAddress.split("\\."))
.mapToInt(Integer::parseInt)
.filter(x -> x >= 0 && x <= 255) // remove invalid numbers
.toArray().length == 4; // if the resulting length is 4, the ip is valid
抛出异常(例如,用户输入一些字母),则您的方法将失败,并且即使存在一些额外的点(例如, Integer.parseInt
)
答案 1 :(得分:-1)
您阅读过此post吗?这些也是通过谷歌搜索的最佳答案:how to validate ip address in java,wikihow