java中对List数据递归筛选
一个list中有200个数据,先对200个数据进行算术平均得到平均值avg,按平均值的正负20%得到最大值与最小值,即avg*(1-0.2)<=标准值<=avg*(1+0...
一个list中有200个数据,先对200个数据进行算术平均得到平均值avg,按平均值的正负20%得到最大值与最小值,即 avg*(1-0.2)<=标准值<=avg*(1+0.2),将标准值不在此范围内的值剔除,得到新的list数据,再进行算术平均得到新的avg,以此递归操作,直到无法剔除为止(连续递归两次的list无变化)。如果结果被全部剔除,则取上一次循环的值。请问这样的需求需要怎样实现,请给个实现思路,或给个小例子最好。
展开
1个回答
展开全部
这个很好写,无非就是list读写麻烦点,写一个递归方法
public list<t> findavg() {
for(int i=0;list){
sum += list[i];
}
avg=sum/list.size();
for(int i=0;list){
avg*(1-0.2)<=list[i]<=avg*(1+0.2)
list2.add(list[i]);
}
return list2;
}
public list<t> findavg() {
for(int i=0;list){
sum += list[i];
}
avg=sum/list.size();
for(int i=0;list){
avg*(1-0.2)<=list[i]<=avg*(1+0.2)
list2.add(list[i]);
}
return list2;
}
追问
虽然不是写的很具体,但大概知道你的意思了,谢谢。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询