2016-10-30 7 views
0

「HELLO WORLD」コンパイルエラー。 2倍から整数への非可逆変換

これは私の最初の記事であり、私は5週目のプログラミング用Javaコースです。私はまだ少し初心者だと言及する必要があります。

"上記の方法の1つを使用してソートクラスを作成します。ソートクラスがダブル配列を処理することを確認します(double [] arrayName ;))ソートクラスを呼び出すクライアントクラスを作成します。スコアの配列をSortingクラスに渡します。配列を最小から最大にソートし、並べ替えられた配列を出力します。

私がこれまで行った作業は、結果を収集して印刷するためのファーストクラスが作成されており、エラーフリーです。私は2クラスも作りましたが、私は理解できないというエラーがあります。私はこの投稿に私が受け取っているエラーを題名しました。ちなみに、私はNetBeans(私のお気に入りのプログラムではありません)で働いています。とにかく、ここで私の第二のクラスのためのコードは次のとおりです。

public class SortingClass { 

    public static void SortingClass (double[] array) 
    { 
     double[] array1 = new double[] 
     {53.5, 60.3, 96.2, 53.3, 56.4, 52.7, 76.4, 77.5, 71.0, 78.2, 
     65.2, 59.3, 80.5, 92.1, 85.7, 78.7, 66.2, 88.8, 50.2, 73.4}; 


     double temp; 
     int max; 

     for (int i = 0; i < array1.length - 1; i ++) 
     { 
      max = indexOfLargestElement (array1, array1.length - i); 

      temp = array1[max]; 
      array1[max] = array1[array1.length - i - 1]; 
      array1[array1.length - i - 1] = temp; 
     } 
    } 

    public static double indexOfLargestElement (double[] array1, int size) 
    { 
     int index = 0; 
     for (int i = 1; i < size; i++) 
     { 
      if (array1[i] > array1[index]) 
       index = i; 
     } 
     return index; 
    } 
} 

私は受け付けており、エラーが行である:

max = indexOfLargestElement (array1, array1.length - i); 

要約にエラーメッセージが「互換性のないタイプです:から可能な非可逆変換doubleからintへ」

+0

私のアプローチが間違っている場合は、別のルートを検討する必要があるかどうか教えてください。 –

+0

'indexOfLargestElement'は戻り値の型が' double'です 'int'にします –

+0

ありがとうございました。それはエラーを解決しました。次の問題。 –

答えて

0

データを失う可能性があるため、Javaでは誤ってdoubleintに割り当てることはできません。あなたのメソッドにintを返すか、戻り値を明示的にintにキャストするかのいずれかである必要があります。

+0

私が上記で提供したものを挙げて、どうすればいいですか?私が言及したように、私は学生で、初心者レベルで働いています。 –

+0

さて、これらの2つのことのどちらを行うかを決める必要があります。あなたがそれを決めたら、私はあなたの選択を実装するのを手伝うことができるかもしれません。 –

関連する問題