In this module we will learn how to count digits in a number entered by the user, we will see different approches regarding the solution.
Table of Contents
[hide]Algorithm
Take input from the user and store it in variable name num.
Pass this number to a method name countdigit() which we can acces by the obj of CountDigits class.
A while loop is being used to iterate the text expression until n!=0
The countdigit() method will return the local variable result which initially is assigned to 0 and keeps on increasing by 1 until n!=0.
Finally print the count inside the main method as shown in the given program below.
// Java Program to calculate the number of digits in an integer
import java.util.Scanner;
class CountDigits {
public int countdigit(int n) {
int result = 0;
while (n != 0) {
n = n / 10;
result++;
}
return result;
}
}
public class Codebator {
public static void main(String[] args) {
CountDigits obj = new CountDigits();
Scanner sc = new Scanner(System.in);
System.out.println("Enter any number");
int num = sc.nextInt();
int result = obj.countdigit(num);
System.out.println("Digit count is "+result);
}
}
Enter any number523456 Digit count is 6
// Java Program to calculate the number of digits in an integer
import java.util.Scanner;
class CountDigits {
public int countdigit(int n) {
int result = 0;
for(; n!=0 ; n=n/10,result++) {
}
return result;
}
}
public class Codebator {
public static void main(String[] args) {
CountDigits obj = new CountDigits();
Scanner sc = new Scanner(System.in);
System.out.println("Enter any number");
int num = sc.nextInt();
int result = obj.countdigit(num);
System.out.println("Digit count is "+result);
}
}
Enter any number6565676 Digit count is 7
In each iteration the value of n is being divided by 10 and the value of result is being incremented by 1. The loop exits one n!=0 i.e num=0;
//Java Program to calculate the number of digits in an integer
import java.util.Scanner;
class CountDigits {
public int countdigit(int n) {
return (int)Math.floor(Math.log10(n) + 1);
}
}
public class Codebator {
public static void main(String[] args) {
CountDigits obj = new CountDigits();
Scanner sc = new Scanner(System.in);
System.out.println("Enter any number");
int num = sc.nextInt();
int result = obj.countdigit(num);
System.out.println("Digit count is "+result);
}
}
Enter any number98767875 Digit count is 8
//Java Program to calculate the number of digits in an integer
import java.util.Scanner;
class CountDigits {
public int countdigit(int n) {
if(n==0)
return 0;
return 1+countdigit(n/10);
}
}
public class Codebator {
public static void main(String[] args) {
CountDigits obj = new CountDigits();
Scanner sc = new Scanner(System.in);
System.out.println("Enter any number");
int num = sc.nextInt();
int result = obj.countdigit(num);
System.out.println("Digit count is "+result);
}
}
Enter any number34564 Digit count is 5