int t[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};//数组
List bl=new ArrayList(); //取x个值得数组初始化
double a=t.length/14.00; // 14 代表是在这个数组中要平均取 14个值
bl.add(t[0]);
double b=0;
for(int i=0;i<t.length-1;){
b=b+a;
int c=(b+"").indexOf(".");
int d=Integer.parseInt( (b+"").substring(c+1,c+2));
if(d>=5){
i=(int)b+1;
if(i>t.length-1)
bl.add(t[t.length-1]);
else
bl.add(t[i]);
}else{
i=(int)b;
if(i>t.length-1)
bl.add(t[t.length-1]);
else
bl.add(t[i]);
}
}
System.out.println("未提取前的数组长度:"+t.length+"\n当前取出来的list的长度:"+bl.size());
for(Object o:bl){
System.out.println(o.toString());
}
注:如果 在第三行代码 也就是
double a=t.length/14.00; 这行代码中,如果a的第一位小数是大于等于5的 返回的个数可能会多一个,多出来的是 原来数组的 最后的那个值,所以各取其用吧,嘿嘿。
算法在一个数组中平均取x个数
最新推荐文章于 2023-07-12 10:33:38 发布