Количество чисел в массиве

makaveli спросил: 26 декабря 2017 в 08:13 в: java

Вот мой метод

private static void methodCount(int[] array) {
    Arrays.sort(array);
    for(int i = 0;i < array.length;i++) {
        int num1 = array[i];
        int counter = 0;
        for(int j = 0;j < array.length;j++) {
            int num2 = array[j];
            if(num1 == num2) {
                counter++;
                i++;
            }
        }
            System.out.println("Number " + num1 + " is counted " + counter + " times!");
    }
}

Я не могу понять, почему вывод изменяется, например:

int[] array = {2, 4, 2, 5, 6, 7, 7, 4, 9, 2, 1, 3, 8};
methodCount(array); 

Выход

Number 1 is counted 1 times!
Number 2 is counted 3 times!
Number 4 is counted 2 times!
Number 7 is counted 2 times!
Number 9 is counted 1 times!

И для этого массива

int[] array = {2, 4, 2, 5, 6, 7, 7, 4, 9};
methodCount(array);

Вывод

Number 2 is counted 2 times!
Number 4 is counted 2 times!
Number 7 is counted 2 times!

Last четыре числа удаляются: 2, 1, 3, 8.

Arrays.sort (array) не требуется, я знаю.

Спасибо!

0 ответов