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; }}