Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java:从多个输入和重复输入确定比率_Java_Javascript - Fatal编程技术网

java:从多个输入和重复输入确定比率

java:从多个输入和重复输入确定比率,java,javascript,Java,Javascript,我想确定成本中心在该资产中出现的次数比率 可能表现比解释更容易 输入文件 asset_id|employee_id|costcentre_id 1|123|2 1|342|2 1|122|3 2|231|4 2|232|3 哪个应该返回 asset_id|employee_id|ratio 1 | 2 | 1 //because more than 50% of 1 was allocated to 2 2 | 4 |

我想确定成本中心在该资产中出现的次数比率

可能表现比解释更容易

输入文件

asset_id|employee_id|costcentre_id

1|123|2

1|342|2

1|122|3

2|231|4

2|232|3
哪个应该返回

asset_id|employee_id|ratio

1 | 2 | 1                                //because more than 50% of 1 was allocated to 2

2 | 4 | 0.5                                //because not more than 50% ...

2 | 3 | 0.5                                //because not more than 50% ...
当然,输入看起来比这更糟,想象一下

5|503|18

5|742|18

5|861|18

5|408|18

5|330|18

5|440|18

5|102|18

23|418|5

26|723|70

26|466|89

26|376|85

26|839|89

28|811|189

28|1224|244

28|302|72

28|348|244

29|229|47

31|655|80

44|250|10

44|729|81

44|867|10

44|960|81

44|973|81  //just a small piece of the input file
它需要确定资产id存在的次数,然后它将获得每个资产的值,并确定是否有超过50%的资产分配给成本中心,给它一个1的比率并输出该项的结果

如果没有超过50%的costcenter id相同,则应将该比率拆分为公式比率=(该比率的倍数/其他次数的计数)

  • 处理您的输入并将每个成本中心id组合存储在列表中
  • 对每个资产id的列表进行排序,如果中间值等于第一个,则使用1的比率
  • 否则,列出每个成本中心id和资产id,以及该组合在该资产id总发生次数上的总发生次数

  • 关于#2,当只有4个条目时会发生什么,哪一个是中间的条目?#3我认为这是正确的逻辑,但是如何用java编写代码,任何帮助都将非常感谢,因为您需要超过50%,如果列表的大小是偶数,那么“中间”的一个将是size/2+1。