Java 在数组中更改字符串时出现问题
isValidElement工作正常,但我对setParts有问题: 如果传递的字符串中的ip地址有效,则将实例变量部分设置为将其存储为4个整数值 例如,如果ip=“192.000168.0.0000001”,则部件应变为{192168,0,1}。如果传递的ip地址无效,则部分应变为{0,0,0}Java 在数组中更改字符串时出现问题,java,arrays,string,Java,Arrays,String,isValidElement工作正常,但我对setParts有问题: 如果传递的字符串中的ip地址有效,则将实例变量部分设置为将其存储为4个整数值 例如,如果ip=“192.000168.0.0000001”,则部件应变为{192168,0,1}。如果传递的ip地址无效,则部分应变为{0,0,0} public static boolean isValidElement(String token) { try{ int foo = Integer.parseInt("to
public static boolean isValidElement(String token) {
try{
int foo = Integer.parseInt("token");
if(foo >= 0 && foo <= 255)
return true;
else
return false;
} catch (NumberFormatException ex){
return false;
}
}
public void setParts(String ip) {
int i;
if (isValidElement(ip) == false){
parts = new int[]{0,0,0,0};
} else
if (isValidElement(ip) == true){
for(i=0; i<parts.length; i++){
parts[i] = ip;
}
}
公共静态布尔isValidElement(字符串标记){
试一试{
intfoo=Integer.parseInt(“令牌”);
如果(foo>=0&&foo尝试拆分
字符上的ip
字符串,然后尝试将该数组中的每个字符串
转换为int
。如果任何转换失败,请重置整个部分
数组:
try {
String[] ipArr = ip.split(Pattern.quote("."));
for (int i = 0; i < ipArr.length; i++) {
parts[i] = Integer.parseInt(ipArr[i]);
}
} catch (NumberFormatException e) {
parts = new int[4];
}
试试看{
字符串[]ipArr=ip.split(Pattern.quote(“.”);
对于(int i=0;i
Integer.parseInt(“token”);
的作用是什么?您希望parts[i]=ip;
的作用是什么?由于尚未初始化,您希望parts.length
返回什么?(如果您不知道这些问题的答案,请在调试模式下一步一步地运行代码,并观察变量的值)