Java判断一个整数是否为水仙花数

来源:互联网 发布:对遗传算法的改进 编辑:程序博客网 时间:2024/06/05 00:31
import java.util.*;/*所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身*/public class DaffodilNumber {    public static void main(String[] args) {        Scanner scan = new Scanner(System.in);// 接收控制台输入信息        System.out.print("请输入一个整数:");        try {            int num = scan.nextInt();// 取出控制台输入的信息            if (isDaffodilNumber(num)) {// 调用isDaffodilNumber()方法                System.out.println(num + "是水仙花数!");// 若为true,输出是水仙花数            } else {                System.out.println(num + "不是水仙花数!");// 否则,输出不是水仙花数            }        } catch (Exception e) {            System.out.println("必须输入整数");// 捕捉异常,输入的必须为整数,若否,输出必须输入整数        }    }    // 用于判断一个整数是否是水仙花数    public static boolean isDaffodilNumber(int i) {        boolean flag = true;        int a = i / 100; // 取得百位数        int b = (i / 10) % 10; // 取得十位数        int c = i % 10; // 取得个位数        /*         * if ((Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3)) != i) {// 若各位数字立方和不等于该数本身         *       flag = false;// 返回false          * }         */        if (a * a * a + b * b * b + c * c * c != i) {// 若各位数字立方和不等于该数本身            flag = false;//返回false        }        return flag;    }}

原创粉丝点击