【发布时间】:2014-12-18 06:53:34
【问题描述】:
void radix(int[] arr, int maxDigit){
int exp = 1;
for (int i=0; i<maxDigit; i++) {
ArrayList[] bucket = new ArrayList[10];
for (int n=0; n<10; n++){
bucket[n] = new ArrayList<Integer>();
}
for (int j=0; j<arr.length; j++){
bucket[(arr[j]%exp)%10].add(arr[j]);
}
int ind=0;
for (int k=0; k<10; k++){
for (int n : bucket[k]){
arr[ind] = n;
ind++;
}
}
exp*=10;
}
}
以上是我在 java 中进行基数排序的尝试。 我在这个 for 循环中一直出错:
for (int n : bucket[k])
说 Object 不能转换为 int。 但是,我声明数组有一个 arrayList 作为它的元素, 所以 bucket[k] 应该是一个数组列表。
谁能解释一下为什么会发生这种情况以及如何解决这个问题? 我将不胜感激任何帮助。谢谢
【问题讨论】:
-
@BelgianMyWaffle "说 Object 不能转换为 int"
标签: java arrays arraylist typeerror