この投稿で説明されている方法を使用して、データベースから取得したdoubleのリストから平均値を計算しようとしていますが、機能しません。おそらくオーバーフローが原因でアプリがクラッシュします。
private double getAverage() {
Cursor cursor = db.getMarks(subject);
List<Double> list = new ArrayList<Double>();
cursor.moveToFirst();
while(!cursor.isAfterLast()) {
list.add(cursor.getDouble(cursor.getColumnIndex(DBAdapter.KEY_VALUE)));
}
if (list.isEmpty())
return 0.0;
long sum = 0;
int n = list.size();
for (int i = 0; i < n; i++)
sum += list.get(i);
return ((double) sum) / n;
}
平均を計算するための実用的なコードを取得する方法はありますか?前もって感謝します