How to reverse a number in Java

Carvia Tech | September 07, 2019 | 1 min read | 1,108 views | Java Coding Challenges


  1. run a loop till num is greater than zero.

  2. extract last digit using modulus operator (digit = num % 10)

  3. add last digit with sum * 10 to make number reverse (sum = (sum * 10) + digit)

  4. divide num by to 10 so that we can get new last digit.

Reverse a number
public class Utils {

    public static long reverse(long num) {
        long sum = 0;
        while (num != 0) {
            long lastDigit = (num % 10);
            sum = (sum * 10) + lastDigit;
            num = num / 10;
        return sum;


Junit test for program

We can quickly write Junit Testcase to test our method for various scenarios, here we will cover only basic ones in one testcase.

import org.junit.Test;

import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.*;

public class UtilsTest {

    public void reverse() {
        assertThat(Utils.reverse(201), equalTo(102L));
        assertThat(Utils.reverse(100), equalTo(1L));
        assertThat(Utils.reverse(1), equalTo(1L));
        assertThat(Utils.reverse(1564654), equalTo(4564651L));

Top articles in this category:
  1. Reverse a string using recursion in Java
  2. SDET Java Coding Challenges
  3. Java Program to find Factorial of a number
  4. Reverse order of words inside string in Java
  5. 50 SDET Java Interview Questions & Answers
  6. Armstrong Number in Java
  7. Check a number is Prime: Java Coding Problem

Find more on this topic:
SDET Interviews image
SDET Interviews

SDET Java Interview pattern and collection of questions covering SDET coding challenges, automation testing concepts, functional, api, integration, performance and security testing, junit5, testng, jmeter, selenium and rest assured

Last updated 1 week ago

Recommended books for interview preparation:

This website uses cookies to ensure you get the best experience on our website. more info