判断任意控制台输入的十进制数是否为水仙花数

关于水仙花数在前面一篇中已经有介绍,判断任意控制台输入十进制数是否为水仙花数(C++)

以下为Java代码

import java.util.Scanner;


public class AmstrongNumber 
    {
    /**
     * @param args
     */
    long num=this.input();
    long number=num;//用于记录最后结果
    long check=0;
    long remainder=0;
    int digit=0;
//定义输入
    public long input()
    {
        Scanner sc=new Scanner(System.in);
        long num=sc.nextLong();
        return num;
    }
//计算是否符合条件
    public void cal()
    {
        //count the digits,计算位数
        for(long n=num;n>0;digit++)
        {
                n=n/10;
        }
    //分别计算每一位的幂次方
while(number>0) { remainder=number%10; check=(long) (check+Math.pow(remainder,digit)); number=number/10; } //如果结果和原数一样 if(check==num) { System.out.println(num+" "+"is an Armstrong Number"); } else { System.out.println(num+" "+"is NOT an Armstrong Number"); } } }
一年之后,我会非常庆幸自己今天选择了开始。 当我觉得为时已晚的时候,恰恰是最早的时候。 It does not matter how slow I go so long as I do not stop.
原文地址:https://www.cnblogs.com/techpalm/p/2910928.html