JAVA中所有三位数中的水仙花数
时间: 2023-03-24 20:01:17 浏览: 127
在Java中,所有的数字都是以十进制表示的,因此如果要表示水仙花数,需要先定义一个方法来计算数字的位数,并通过循环来计算每个数字的立方和,最后将它们相加,判断是否等于原始数字。
以下是一个计算三位数水仙花数的Java代码示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
if (isNarcissisticNumber(i)) {
System.out.println(i);
}
}
}
private static boolean isNarcissisticNumber(int n) {
int sum = 0;
int count = getCount(n);
int temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += Math.pow(digit, count);
temp /= 10;
}
return sum == n;
}
private static int getCount(int n) {
int count = 0;
while (n > 0) {
count++;
n /= 10;
}
return count;
}
}
```
在上面的代码中,我们使用了一个for循环来遍历所有三位数,并且通过isNarcissisticNumber()方法来判断是否是水仙花数。isNarcissisticNumber()方法接受一个整数作为参数,它首先调用getCount()方法来计算该整数的位数,然后使用while循环来计算该整数每个数字的立方和,并将结果存储在sum变量中。最后,它将sum与原始数字进行比较,如果相等,则返回true,否则返回false。
在getCount()方法中,我们使用一个while循环来计算一个数字的位数,并将结果存储在count变量中。
以上是计算三位数水仙花数的Java代码示例,你可以根据需要进行修改来计算其他位数的水仙花数。
阅读全文