【发布时间】:2012-10-23 03:03:03
【问题描述】:
我会尽力澄清。
我有:
public static void main(String[] args) {
int a[] = {5, 6 ,7 ,8 ,9 ,10};
removeArray takeOff = new removeArray();
takeOff.remove(3);
for (int i = 0 ; i < a.length ; i++){
System.out.print(" "+a[i]);
}
}
应该打印出来:
5, 6, 7, 9, 10.
问题是remove方法,我应该怎么写。我有:
公共类 removeArray {
public void remove(int index) {
if (index > 0) {
System.arraycopy(testThatArray.a, 0, testThatArray.a, 0, index);
}
if (index < testThatArray.a.length - 1) {
System.arraycopy(testThatArray.a, index + 1, testThatArray.a, index, testThatArray.a.length - index - 1);
}
}
}
还是不行吗?
更新:
我得到它来打印5 6 7 9 10 10,我怎样才能删除最后一个值?
【问题讨论】:
-
那么问题是什么?如果您可以发布您的代码以便我们查看它,那就太好了
-
我不是在写任何程序,只是一个关于如何编写一个按位置从数组中删除值的方法的一般问题,希望不要太宽泛...
-
你应该使用List,否则,这就是你所需要的stackoverflow.com/questions/457453/…
-
我不明白你为什么要创建一个新数组来删除一个项目。如果您有一个控制数组行为(添加、获取、搜索、删除操作)的类,那么只需使用
int size来控制导航,当您想要删除元素时,您只需 移动所有项目到要删除左边一个空格的索引(我用代码比用文字更容易解释)。