java数组的元素删除问题

2025-02-25 13:28:00
推荐回答(5个)
回答1:

1.java中数组不太好用,尽量用List。
2.array[array.length-1]=null,你这个语句只是将数组位置值置为null,不是删除数组元素,还是会输出。

3.你第一个循环要用continue,不能用break,这是无法运行的最主要问题。

回答2:

最好是使用List

public static void main(String[] args) {

String[] arr = { "IPhone3GS", "IPhone4", "IPhone4S", "IPhone5" };

String remove = "IPhone3GS";

ArrayList temp = new ArrayList(Arrays.asList(arr));

boolean flag = false;

for (String str : temp) {

if (str.equals(remove)) {
temp.remove(str);
flag = true;
break;
}
}

if (flag) {
arr = temp.toArray(new String[arr.length - 1]);
} else {
System.out.println("未找到 '" + remove + "'");
}

System.out.println(Arrays.toString(arr));

}

回答3:

//查找插入位置
if(array[i].equals("iPhone3GS")){
index=i;//i=0
break;
}
当你执行到此处 第一次循环就会进入到此if判断 然后break 跳出循环了。跳出循环所以循环里的其他代码就不会被执行了

回答4:

if(array[i].equals("iPhone3GS")){
index=i;
break;
}
这个break跳出循环了

回答5:

看了一下你的代码,按照你代码中想表达的逻辑,你第一个for循环结束的位置,应该是在第一个if结束之后。