Java输入3个数判断是不是水仙花数用for循环
时间: 2024-10-19 22:13:20 浏览: 29
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是使用Java和for循环判断三个整数是否为水仙花数的示例:
```java
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = scanner.nextInt();
System.out.println("请输入第二个整数:");
int num2 = scanner.nextInt();
System.out.println("请输入第三个整数:");
int num3 = scanner.nextInt();
if (isNarcissistic(num1) && isNarcissistic(num2) && isNarcissistic(num3)) {
System.out.println("这三个数都是水仙花数.");
} else {
System.out.println("其中至少有一个不是水仙花数.");
}
scanner.close();
}
// 判断一个数是否是水仙花数
private static boolean isNarcissistic(int number) {
int sumOfCubes = 0;
String numStr = String.valueOf(number); // 转换为字符串便于取每一位数字
for (int i = 0; i < numStr.length(); i++) {
char digitChar = numStr.charAt(i);
int digit = Character.getNumericValue(digitChar); // 获取当前位的数字
sumOfCubes += Math.pow(digit, 3); // 累加立方和
}
return sumOfCubes == number; // 如果累加结果等于原数,说明是水仙花数,返回true
}
}
```
阅读全文