In this article, we are going to discuss different methods of reversing a number in Java. There are three ways to reverse a number in Java and these are:
- Reverse a number using the while loop.
- Reverse a number using StringBuilder.
- Reverse a number using Recursion.
Let,s discuss each approach one by one:
Reverse a number using the while loop.
In this approach, we extract each digit of the number from the right side using the modulus operator and keep adding it to a new number in reverse order.
Java Example code:
//Java code to Reverse a number using while loop public class ReverseNumber{ public static void main(String[] args) { int num = 12345; int reversed = 0; while (num != 0) { int digit = num % 10; reversed = reversed * 10 + digit; num /= 10; } System.out.println("Reversed Number: " + reversed); } }
Reverse Number: 54321
Reverse a number using StringBuilder.
In this approach, we convert the integer to a string, then use the StringBuilder class to reverse the string and convert it back to an integer.
Java Example Code:
//Reverse a number using StringBuilder class public class ReverseNumber { public static void main(String[] args) { int num = 12345; //converting integer to string String str = String.valueOf(num); StringBuilder sb = new StringBuilder(str); sb.reverse(); //converting string to integer int reversed = Integer.parseInt(sb.toString()); System.out.println("Reversed Number: " + reversed); } }
Output:
Reverse Number: 54321
Reverse a number using Recursion.
In this approach, we call the same function recursively with the remaining part of the number until we have a single-digit number. Then we return the number as is.
Java Example Code:
//Reverse a number using Recursion public class Main { public static void main(String[] args) { int num = 12345; int reversed = reverseNumber(num); System.out.println("Reversed Number: " + reversed); } public static int reverseNumber(int num) { if (num < 10) { return num; } int digit = num % 10; return digit * (int) Math.pow(10, (int) Math.log10(num)) + reverseNumber(num / 10); } }
Output:
Reverse Number: 54321
No comments:
Post a Comment