Java program to print all armstrong numbers between given range

Let’s learn java program to print all armstrong numbers between given range.

Java program to print all armstrong numbers between given range

In the below program to print all armstrong numbers between given range first user inputs given range, that is, starting number and ending number using nextInt() method of Scanner class.

Finally print all armstrong numbers between given range.

import java.util.Scanner;
public class ArmstrongNumbersGivenRange 
{
   public static void main(String[] args) 
   {
      int number, startNumber, endNumber, a, rem, n, count = 0;
      Scanner sc = new Scanner(System.in);
      System.out.println("Please enter starting number range: ");
      startNumber = sc.nextInt();
      System.out.println("Please enter ending number range: ");
      endNumber = sc.nextInt();
      for(a = startNumber + 1; a < endNumber; a++)
      {
         n = a;
         number = 0;
         while(n != 0)
         {
            rem = n % 10;
            number = number + rem * rem * rem;
            n = n / 10;
         }
         if(a == number)
         {
            if(count == 0)
            {
               System.out.println("Armstrong numbers between given range " + startNumber + " and " + endNumber + ": ");
            }
            System.out.print(a + "  ");
            count++;
         }
      }
      // if there is no Armstrong number found between range
      if(count == 0)
      {
         System.out.println("Sorry!! There's no armstrong number between given range " + startNumber + " and " + endNumber);
      }
      sc.close();
   }
}


Output:

Please enter starting number range: 100
Please enter ending number range: 600
Armstrong numbers between given range 100 and 600: 153 370 371 407

Please enter starting number range: 200
Please enter ending number range: 500
Armstrong numbers between given range 200 and 500: 370 371 407


Also read – methods in java