Условный оператор в теле цикла с условием

Дано натуральное число. Определить, сколько раз в нем встречается максимальная цифра (например, для числа 132 233 ответ равен 3, для числа 46 336 — 2, для числа 12 345 — 1). Иногда выдает правильный ответ, иногда нет. Например: 123 - 3 повторяется один раз, 15566 - 2 раза, а у числа 13759217 - 2 раза(хотя 9 одна).

public static void main(String[] args) {
        Scanner read = new Scanner(System.in);
        int n, p, count = 0, maxdigit = 0;
        
        System.out.print("n: ");
        n = read.nextInt();
        
        while (n != 0) {
            p = n % 10;
            if (p > maxdigit) maxdigit = p; // нахожу макс. цифру 
            if (p == maxdigit) count++; // считаю кол-во макс. цифр 
            n /= 10;
        }
        System.out.println(count);
    }
}

Ответы (0 шт):