次の行を使用して、Java でいくつかの配列をソートしようとしています。
a = sortFacade.sort(2, false, a);
ここで、「a」はすでに初期化されている int 配列です。コンパイルしようとすると、2 は int ではなく long であると言われます。(int)2 でキャストしようとしましたが、うまくいきませんでした。
ラインもやってみた
sortFacade.sort(2, false, a);
コードがコンパイルされます。
誰かがこれに対する修正を知っていますか?
編集:ターミナルに表示されるメッセージは次のとおりです。
Experimenter.java:146: incompatible types
found : long
required: int[]
a = sortFacade.sort(2, false, a);
^
この行は、次のようなコードにあります。
public static void Experiment1()
{
for(int size = 5000; size <= 100000; size = size + 5000)
{
int[] a randomArray(size, 1000); //a random array of size 'size' and values from 1 - 1000
a = sortFacade.sort(2, false, a);
/** This is where the error occurs. 2 specifies insertion sort (error occurs
with other acceptable numbers here as well,false specifies descending
order, 'a' specifies the array to be sorted.*/
}
}
SortFacade は、さまざまな並べ替えアルゴリズムすべてと対話するファサードです。2 は許容値であり、同じメソッド (異なるパラメーターを使用) への呼び出しは、コードの他の部分で機能します。