我的测试环境需要造一堆数据,而且要求每天根据不同时间段(单位为小时)去生成不同比例的数据,比如0-8,9-12,13-17,18-23,如果全天的数据之和是100,则根据这拆分的4个时间区间,每个时间区间全天所占数据之和的比例是2:4:3:1。
难点:
1.如何输入一个浮点数A和拆分个数n,返回一个数组
2.数组中这n个元素之和,等于输入的这个浮点数A
3.还要保证数组中每个元素的大小要在某一个基数如20之间上下浮动(浮动范围为0.8 - 1.6),即:最小为20*0.8,最大为20*1.6
import com.alibaba.fastjson.JSON;
import java.math.BigDecimal;
import java.math.RoundingMode;
/**
* @Author: zhanghh
* @Date: 2021/12/27 17:27
* @Description:
*/
public class Test {
public static void main(String[] args) {
for(int i=0; i<9; i++) {
makeOneDayDate();
}
}
public static void makeOneDayDate() {
BigDecimal[] jd = new BigDecimal[24];
BigDecimal[] fd = new BigDecimal[24];
BigDecimal[] gd = new BigDecimal[24];
BigDecimal[] dataAr