December 10, 2010

Java program to find whether given number is Armstrong or not


/*Write a program to find whether given no. is Armstrong or not.
  Example :
           Input - 153
           Output - 1^3 + 5^3 + 3^3 = 153, so it is Armstrong no. */

class Armstrong{
      public static void main(String args[]){
      int num = Integer.parseInt(args[0]);
      int n = num; //use to check at last time
      int check=0,remainder;
      while(num > 0){
           remainder = num % 10;
           check = check + (int)Math.pow(remainder,3);
           num = num / 10;
      }
      if(check == n)
            System.out.println(n+" is an Armstrong Number");
      else
            System.out.println(n+" is not a Armstrong Number");
   }
}

Check my new programming website for more programs

2 comments:

  1. error :Array index out of bounds exception

    ReplyDelete
    Replies
    1. Hello Prasanth, we have to enter a value at run time. We used an instruction "int num = Integer.parseInt(args[0])" this line would take the first run time value as args[0]. So if you did not enter any value at execution, it generates an array index out of bounds exception. So follow the below syntax.

      Ex: java Armstrong 153
      java Armstrong 231

      If you have any doubts can ask.

      Delete