计算时间系数

//根据动态获取的时间天数,动态的下标元素不加入计算求和,计算对应的时间系数,花了不少时间琢磨,做个笔记.
1
//根据动态下标,计算时间系数 2 List<List<Float>> timeModulus = new ArrayList<>();//系数的---集合的集合 3 int k = 0;//计算当前--集合的集合-->的索引 4 for(Object obj: subArraydaysList){ 5 Float[] aryItem = (Float[]) obj; 6 Float sum = (float) 0; 7 //下标的集合的集合 8 List<List<Integer>> sameTimesubscriptList = new ArrayList<>(); 9 for (Object object : sameTimeObj) { 10 Integer[] arr = (Integer[]) object; 11 List<Integer> subList = new ArrayList<>(); 12 for (int i = 0; i < arr.length; i++) { 13 // System.out.println("相同的开始时间下标"+arr[i] + ","); 14 subList.add(arr[i]); 15 } 16 sameTimesubscriptList.add(subList); 17 // System.out.println("subList"+subList); 18 } 19 for(int i = 0; i < aryItem.length; i++){ 20 sum = sum + aryItem[i];//求总和 21 } 22 //下标的集合 23 List<Integer> subscriptList = sameTimesubscriptList.get(k); 24 //下标的数组 25 Integer[] subscriptArr = new Integer[subscriptList.size()]; 26 for (int j = 0; j < subscriptList.size(); j++) { 27 subscriptArr[j] = subscriptList.get(j);//赋值 28 } 29 //根据下标减去不需要计算的元素 30 for(Integer subscript:subscriptArr){ 31 sum = sum - aryItem[subscript];//所需要的总和 32 } 33 //系数集合 34 List<Float> subtimeModulus = new ArrayList<>(); 35 for(int i = 0; i < aryItem.length; i++){ 36 subtimeModulus.add(aryItem[i]/sum); 37 } 38 System.out.println("subtimeModulus"+subtimeModulus); 39 timeModulus.add(subtimeModulus); 40 System.out.println("sum"+sum); 41 k++; 42 }

 

转载于:https://www.cnblogs.com/naiwenmoer/p/6897394.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值