2016-04-20 10 views
0

配列の平均を計算しようとしていますが、intをdoubleに変換できません。なぜこうなった?整数をdoubleに変換できないのはなぜですか?

private void AvgOfArray(){ 

      myWindow.clearOut(); 
      int total = 0; 
      int[] a = new int[4]; 
      int i = 0; 
      double avg = 0.0; 
      while (i < a.length) { 
       a[i] = 1 + (int) (Math.random() * 10); 
       myWindow.writeOutLine(a[i]); 
       total += a[i]; 
       i++; 
      } 
      avg = (Double) i; 
      myWindow.writeOutLine(total/Double.parseDouble(i)); 


     } 
+1

'Double.parseDouble(i)'は 'int'をとらない。 'total'を' double'にすると、まったくキャストする必要はありません。 – dasblinkenlight

答えて

1

平均を計算するための正しい方法は、何かのように、

double avg = total/(double) i; 
myWindow.writeOutLine(avg); 

ボクシングDoubleintはそれを試してみて、解析するために、特に、あまり意味がありませんです。

関連する問題