1. 程式人生 > >用封裝完成100到10000以內的水仙花數

用封裝完成100到10000以內的水仙花數

ring 轉換 字符 水仙花數 一次循環 num == 完成 i++


public boolean is(int num){         //定義一個方法
    int count=(num+"").length();         //把num轉換成String型,在算出他的字符長度,賦予count
    int num1=num;            //把num的值備份num1
    int sum=0;             //定義一個變量,來儲存結果
    while(num>0){                //循環大於0的值
      int b=1;                  //定義一個次冪
      int a=num%10;                  //求出他的個位數
      for(int i=1;i<=count;i++){         //循環他的字符長度
        b*=a;                       /*這裏的循環是
                        第一次循環:
                        b=1 然後b*a=1*a

                        第二次循環:
                        b這個時候就等於a了 b*a=a*a

                        第三次循環:
                        b就等於a*a b*a=a*a*a
                        */
      }
      sum+=b;            //這裏是把sum的值加上b的值
      num/=10;           //這裏是num的值除以10 因為是整型所以沒有小數點後的數 所以例如是百位的數循環完這個就是十位的數了
    }
    if(sum==num1){             //判斷結果是不是之前備份的數
    return true;            //如果是的話就是正確的
  }
  return false;
}

用封裝完成100到10000以內的水仙花數