java数组的元素删除问题

//如何实现删除数组publicclassarraydelete{/***@paramargs*/publicstaticvoidmain(String[]args){S... //如何实现删除数组
public class arraydelete {

/**
* @param args
*/
public static void main(String[] args) {
String[] array={"iPhone3GS","iPhone4","iPhone4S","iPhone5"};
int index=-1;
for(int i=0;i<array.length;i++){
//查找插入位置
if(array[i].equals("iPhone3GS")){
index=i;
break;
}
if(index!=-1){
//array[index]="iPhone4天下无敌";
for(int j=index;j<array.length-1;j++){
array[j]=array[j+1];
}
array[array.length-1]=null;

}else{
System.out.println("数组已满");
}
for(int k=0;k<array.length;k++){
System.out.println(array[k]);
}

}
}
}
不能实现是什么原因,请详解
展开
 我来答
大黑鲨9
2013-12-13 · 超过19用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:24.5万
展开全部
1.java中数组不太好用,尽量用List。
2.array[array.length-1]=null,你这个语句只是将数组位置值置为null,不是删除数组元素,还是会输出。

3.你第一个循环要用continue,不能用break,这是无法运行的最主要问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfd5459
2013-12-13 · TA获得超过365个赞
知道小有建树答主
回答量:358
采纳率:0%
帮助的人:286万
展开全部

最好是使用List

public static void main(String[] args) {

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

String remove = "IPhone3GS";

ArrayList<String> temp = new ArrayList<String>(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));

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhanghuanduan
2013-12-13 · TA获得超过131个赞
知道答主
回答量:301
采纳率:0%
帮助的人:102万
展开全部
//查找插入位置
if(array[i].equals("iPhone3GS")){
index=i;//i=0
break;
}
当你执行到此处 第一次循环就会进入到此if判断 然后break 跳出循环了。跳出循环所以循环里的其他代码就不会被执行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yiliuking
2013-12-13 · TA获得超过195个赞
知道小有建树答主
回答量:183
采纳率:100%
帮助的人:95.8万
展开全部
if(array[i].equals("iPhone3GS")){
index=i;
break;
}
这个break跳出循环了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
屏205211
2013-12-13 · TA获得超过943个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:222万
展开全部
看了一下你的代码,按照你代码中想表达的逻辑,你第一个for循环结束的位置,应该是在第一个if结束之后。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式