我应该创建一个mainmethod来计算一个数字连续出现的次数。用户应该输入数字。 我想我必须循环一个数组虽然我不确定如何...
用户输入数组,循环并检查该数字是否为前一个。
实施例: 1 3 4 5 6 6 6 9 - 输出:数字6连续出现3次
这是我现在的代码(sry错过了粘贴):
public static void main(String[] args)
{
Scanner inp = new Scanner(System.in);
int counter = 0;
int[] x = new int[inp.nextInt()];
for (int i = 0; i < x.length; i++)
{
if(i == x[i])
{
counter++;
}
else
{
continue;
}
}
System.out.print(counter);
}
有什么想法吗?
答案 0 :(得分:1)
使用HashMap<Integer, Long>
跟踪每个号码的出现次数:
Map<Integer, Long> numberOccurences = new HashMap<>();
for(int n : numbers) {
Long occurences = numberOccurences.get(n);
if(occurrences == null) { // first time the number n is seen
numberOccurences.put(n, 1L);
} else {
numberOccurences.put(n, occurences + 1);
}
}