我嘗試排序一個雙數組。奇數元素應該升序。一個偶數元素應該降序。我的類如下。 當我拼命地跑項目,我表現出線程線程「主」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)
我該如何解決這個錯誤? 謝謝你的一切。