Java program to print armstrong number from 1 to 1000

Let’s learn java program to print armstrong number from 1 to 1000.

Java program to print armstrong number from 1 to 1000

Armstrong number in java is one of the common java interview question.

java program to print armstrong number from 1 to 1000

An armstrong number is sum of cube of its own digits. Here modulus and division operator is used alongside “for” loops and “if” condition.

Also read – armstrong number program in java using scanner

Here’s the java program for armstrong number between 1 to 1000.

public class ArmstrongBetween1To1000
{
   public static void main(String[] args)
   {
      int number, n, total = 0;
      System.out.println("Armstrong number between 1 to 1000: ");
      for(int a = 1; a <= 1000; a++)
      {
         number = a;
         while(number > 0)
         {
            n = number % 10;
            total = total + (n * n * n);
            number = number / 10;
         }
         if(total == a)
         {
            System.out.print(a + " ");
         }
         total = 0;
      }
   }
}


Output:

Armstrong number between 1 to 1000: 1 153 370 371 407


Also read – armstrong number in java using recursion

Also read – 4 digit armstrong number in java

Also read – armstrong in java example


Java program to print all armstrong numbers between given range

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

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 between given range: ");
      startNumber = sc.nextInt();
      System.out.println("Please enter ending number between given 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 between given range: 100
Please enter ending number between given range: 600
Armstrong numbers between given range 100 and 600: 153 370 371 407

Please enter starting number between given range: 1
Please enter ending number between given range: 100
Sorry!! There’s no armstrong number between given range 1 and 100