import java.util.Scanner;
public class ts3 {
// 接收控制台输入信息
public static void main(String[] args){
/*
编程实现判断一个整数是否为“水仙花数”。所谓“水仙花数”是指一个三位的整数,其各位数字立方和等于该数本身。
例如:153是一个“水仙花数”,因为153=13+53+33。要求:用带有一个输入参数的函数(或方法)实现,返回值类型为布尔类型。
*/
// 接收控制台输入信息
Scanner scan = new Scanner(System.in);
System.out.print(“请输入一个整数:”);
try {
// 取出控制台输入的信息
int num = scan.nextInt();
// 调用isDaffodilNumber()方法 if (isDaffodilNumber(num)) { // 若为true,输出是水仙花数 System.out.println(num + "是水仙花数!"); } 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) { // 若各位数字立方和不等于该数本身返回false flag = false; } return flag; } }
1234567891011121314151617181920212223242526272829303132333435363738