Java Program to Count the Number of Digits in a Number

Introduction

Counting the number of digits in a number is a basic yet important task in programming, especially when dealing with numerical data processing. This guide will walk you through writing a Java program that counts the number of digits in a given integer.

Problem Statement

Create a Java program that:

  • Prompts the user to enter an integer.
  • Counts the number of digits in the integer.
  • Displays the result.

Example:

  • Input: 12345

  • Output: "The number 12345 has 5 digits"

  • Input: 987654321

  • Output: "The number 987654321 has 9 digits"

Solution Steps

  1. Read the Number: Use the Scanner class to take the integer as input from the user.
  2. Count the Number of Digits: Use a loop to repeatedly divide the number by 10 until it becomes 0, counting the number of iterations.
  3. Display the Result: Print the count of digits.

Java Program

// Java Program to Count the Number of Digits in a Number // Author: https://www.rameshfadatare.com/ import java.util.Scanner; public class DigitCounter { public static void main(String[] args) { // Step 1: Read the number from the user try (Scanner scanner = new Scanner(System.in)) { System.out.print("Enter an integer: "); int number = scanner.nextInt(); // Step 2: Count the number of digits int count = countDigits(number); // Step 3: Display the result System.out.println("The number " + number + " has " + count + " digits."); } } // Method to count the number of digits in a number public static int countDigits(int number) { int count = 0; // If the number is 0, it has 1 digit if (number == 0) { return 1; } // Convert the number to positive if it's negative number = Math.abs(number); while (number > 0) { number /= 10; // Remove the last digit count++; // Increment the digit count } return count; } } 

Explanation

Step 1: Read the Number

  • The Scanner class is used to read an integer input from the user. The nextInt() method captures the input number.

Step 2: Count the Number of Digits

  • The countDigits() method calculates the number of digits:
    • The method initializes a counter count to 0.
    • If the number is 0, the method returns 1, since 0 has one digit.
    • If the number is negative, it is converted to positive using Math.abs().
    • The loop runs as long as the number is greater than 0, dividing the number by 10 in each iteration (which effectively removes the last digit) and incrementing the digit count by 1.

Step 3: Display the Result

  • The program prints the number of digits using System.out.println().

Output Example

Example 1:

Enter an integer: 12345 The number 12345 has 5 digits. 

Example 2:

Enter an integer: 987654321 The number 987654321 has 9 digits. 

Example 3:

Enter an integer: 0 The number 0 has 1 digit. 

Conclusion

This Java program demonstrates how to count the number of digits in a given integer. It covers essential concepts such as loops, conditional statements, arithmetic operations, and handling both positive and negative integers, making it a valuable exercise for beginners learning Java programming.

Leave a Comment

Scroll to Top