私はdouble配列をソートしようとしています。奇数要素は昇順でなければなりません。要素も降順でなければなりません。私のクラスは以下の通りです。 私はプロジェクトをrunnedとき、私はスレッド "メイン" java.lang.ArrayIndexOutOfBoundsExceptionにスレッド "main" java.lang.Array Index Out of Bounds例外0
例外を示しています。
... 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)
このエラーを解決するにはどうすればよいですか? ありがとうございます。