我尝试排序一个双数组。奇数元素应该升序。一个偶数元素应该降序。我的类如下。 当我拼命地跑项目,我表现出线程线程“主”java.lang.Array索引出界例外0
异常 “主要” java.lang.ArrayIndexOutOfBoundsException:0
package com.fatih.sortarray;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class SortingArray {
public static Double[] sortItOut(Double[] array) {
Double[] arrayOdd = {};
Double[] arrayEven = {};
Double[] sortedArray = {};
for (int i = 0; i < array.length; i++) {
int k = 0;
int j = 0;
if (array[i] % 2 == 0) {
arrayOdd[k] = array[i];
k++;
} else {
arrayEven[j] = array[i];
j++;
}
}
Arrays.sort(arrayOdd, Collections.reverseOrder());
Arrays.sort(arrayEven);
List list = new ArrayList(Arrays.asList(arrayOdd));
list.addAll(Arrays.asList(arrayEven));
sortedArray = (Double[]) list.toArray();
return sortedArray;
}
}
....
public class SortingArrayTestt {
public static void main(String[] args) {
Double[] array = { 1d, 2d, 3d, 4d, 5d, 6d, 7d, 8d, 9d };
Double[] sortingArray = SortingArray.sortItOut(array);
for (int i = 0; i < sortingArray.length; i++) {
System.out.print(sortingArray[i]);
}
}
}
...
的控制台输出是:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at com.fatih.sortarray.SortingArray.sortItOut(SortingArray.java:25)
at com.fatih.sortarray.SortingArrayTestt.main(SortingArrayTestt.java:9)
我该如何解决这个错误? 谢谢你的一切。