连续出现多少次(Java)

时间:2015-08-20 19:15:37

标签: java

我应该创建一个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);
}

有什么想法吗?

1 个答案:

答案 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);
    }
}