【发布时间】:2014-11-21 06:36:21
【问题描述】:
我使用JSONArray 保存动态值,这些值可以是整数或双精度值,我需要在JSONArray 中找到这些值的平均值和中位数,因为我将这些值保存在arraylist 和试图找到平均值,因为列表由整数或双精度值组成,它显示 Classcast 异常。请给我解决方案来查找数组列表值(整数或双精度值)的平均值和中值。我尝试使用下面的代码,但它循环加倍数组大小......
for (Object o : list) {
if (o.getClass().equals(Integer.class)) {
handleint(list);
}
else if (o.getClass().equals(Double.class)) {
handledouble(list);
}
}
for(Object obj: list){
if(obj instanceof Double)
{
sum1 = sum1 + ((Double) obj).doubleValue();
average = sum1 / list.size();
}
else if(obj instanceof Integer)
{
sum1 = sum1 + ((Double) obj).doubleValue();
average = sum1 / list.size();
}
}
【问题讨论】:
-
handleint和handledouble做什么?分享完整的代码。您使用的是原始类型的列表吗? -
是的,我正在使用原始列表,在 handleint 方法中,我添加了列表值并按数组大小潜水了值
-
我认为您不需要单独的列表来计算平均值,因为您可以在从 JSONArray 保存列表中的值的同时做到这一点。
-
我试过你的代码,我得到了正确的值..谢谢
-
您已提出 8 个问题,但没有一个被接受。