【发布时间】:2014-03-20 01:54:28
【问题描述】:
如何删除给定索引处的整数以及如何压缩myInts?
这是我得到的,但我一直收到错误。
public void deleteInt(int index) {
int[] newInts = Arrays.copyOf(myInts, myInts.length);
if (myInts[index] != 0) {
myInts[index] = 0;
for (int i : myInts) {
if (myInts[i] != 0) {
newInts[i] = myInts[i];
}
}
}
myInts = newInts;
currentInt++;
}
这是我得到的错误:
线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 11
【问题讨论】:
-
为什么投反对票?这似乎是一个合理的问题,只是需要更多细节。
-
@DonBranson 猜他们只是不知道该怎么做,所以他们投了反对票,但无论如何,你知道 id 如何在不使用数组列表的情况下处理它吗?
-
我认为 ArrayList 将是一个好方法。有理由不这样做吗?
-
因为这里没有明显的问题。 “删除整数”是什么意思?这是否意味着从内存中删除整数并释放它所占用的空间?这是否意味着将数组中的所有其他整数向下移动一个索引?此外,仅仅说“不断出错”并不是特别有用。
-
@SimonC,他在您的评论之前添加了具体错误。 :) 此外,他的问题并没有说“删除一个整数”,而是说“删除给定索引处的整数”,这很清楚。