/**
Function: countDigitFrequency
Purpose: Counts how many times each digit (0–9) appears in a number.
Parameters:
- n: the number whose digits we want to count
- freq: an array of size 10 that stores the frequency of each digit
freq[0] = count of digit '0'
freq[1] = count of digit '1'
...
freq[9] = count of digit '9'
Explanation:
We repeatedly extract the last digit using n % 10,
then remove that digit using n / 10.
*/
public class DigitFrequency {
public static void countDigitFrequency(int n, int[] freq) {
// Process each digit of the number
while (n > 0) {
int digit = n % 10; // extract last digit
freq[digit]++; // increase its frequency
n /= 10; // remove last digit
}
}
public static void main(String[] args) {
int n = 79712622; // the number we want to analyze
int[] freq = new int[10]; // array to store digit frequencies
// Call the function to count digit frequencies
countDigitFrequency(n, freq);
// Display the result
System.out.println("Digit frequencies in " + n + ":\n");
for (int i = 0; i < 10; i++) {
if (freq[i] != 0)
System.out.println("Digit " + i + " occurs " + freq[i] + " times");
}
}
}
/*
run:
Digit frequencies in 79712622:
Digit 1 occurs 1 times
Digit 2 occurs 3 times
Digit 6 occurs 1 times
Digit 7 occurs 2 times
Digit 9 occurs 1 times
*/