gpt4 book ai didi

java - 拆分 IP 地址字符串以检查是否有效,如果有效 : create array to store each value

转载 作者:行者123 更新时间:2023-12-01 09:30:47 27 4
gpt4 key购买 nike

所以在我的主要客户端方法中,我有:

IPAddress a1 = new IPAddress("153.0012.60.02");

然后在我的 IPAddress 类中,我有:

public class IPAddress {
private int[] parts;

public void reset() {
parts = new int[4];
}

上面应该将实例变量数组部分实例化为大小为 4 的数组

public static boolean isValidElement(String token) {
String[] validString = token.split("\\.");
if (validString.length != 4)
return false;
for (String str: validString ) {
int i = Integer.parseInt(str);
if ((i < 0) || (i > 255)) {
return false;
}
}
return true;

}

如果参数是整数的字符串表示,上面应该返回 true

  • 0 到 255 之间(包括 0 到 255),否则为 false。
  • 字符串“0”、“1”、“2” ....“254”、“255”有效。
  • 填充字符串(例如“00000000153”)也有效

    public void setParts(String ip) {

    //to be completed

    }

    如果传递的字符串中的 IP 地址有效,

    • 设置实例变量部分以将其存储为 4 个整数值。
    • 例如,如果 ip = "192.000168.0.0000001",部分应变为 {192,168,0,1}。
  • 如果传递的 IP 地址无效,部分应变为 {0,0,0,0}

public void reset();

public static boolean isValidElement(String token)

正确吗?

感谢任何帮助,谢谢

最佳答案

您的方法 isValidElement 将参数作为字符串,但您正在传递 IPAddress 的对象类型。您需要根据对象 IPAddress 更改代码,或者直接将字符串传递到 isValidElement 方法,如下所述

    String a1="153.0012.60.02";
System.out.println(isValidElement(a1));

为了存储 IP 地址,请在类中使用一个数组

        static int[] arr =new int[4];

并更改您的方法,如下所述

 public static boolean isValidElement(String token) {
String[] validString = token.split("\\.");
if (validString.length != 4)
return false;
int j=0;
for (String str: validString ) {
int i = Integer.parseInt(str);
arr[j]=i;
j++;
if ((i < 0) || (i > 255)) {
return false;
}
}
return true;

}

关于java - 拆分 IP 地址字符串以检查是否有效,如果有效 : create array to store each value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39423758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com