Java选项计数器

时间:2019-02-26 04:35:14

标签: java netbeans counting

假设我有6个选项,并且4个人可以选择这些选项中的任何一个。

每个人有4个变量(int),他们可以选择一个选项。

两个或两个以上的人可以选择相同的选项。

在不执行一堆if语句的情况下,如何计算每个选项被选择的次数?

此外,我不允许使用数据结构。

2 个答案:

答案 0 :(得分:0)

使用hashmap存储单个用户及其选项。然后遍历哈希图,以确定选择特定选项的频率。

HashMap<Integer, Integer> selections = new HashMap<Integer, Integer>();

答案 1 :(得分:0)

您可以使用质数p_1至p_6存储答案。每个选项的唯一素数p。您以“内存”整数m开头。每次用户u选择一个选项i时,您都将您的“内存” int乘以相应的选项质数m = m * p_i。在任何给定时间,您都可以找到选定的选项作为m的素分解。但是,这种方法不允许您恢复选择的顺序。如果那也很重要,您可以用素数及其答案编码用户,原因是m = p_1 ^(选项用户1)* p_2 ^(选项用户2)* ... * p_n ^(选项用户n) 。无论如何,您的选择都取决于您对答案的处理方式以及是否要引入更多用户或更多选择。 我希望这可以为您分配工作提供有用的指导。