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;
}
}
Java判断一个整数是否为水仙花数
最新推荐文章于 2024-04-16 11:22:50 发布