所以在我的主要客户端方法中,我有:
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
填充字符串(例如&#34; 00000000153&#34;)也有效
public void setParts(String ip) {
//to be completed
}
如果传递的字符串中的IP地址有效,
是
public void reset();
和
public static boolean isValidElement(String token)
正确?
感谢任何帮助,谢谢
答案 0 :(得分:1)
您的方法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;
}
答案 1 :(得分:0)