写一个判断一个数字是不是水仙花数字的Java方法
时间: 2023-09-17 22:06:11 浏览: 133
### 回答1:
可以使用以下Java方法来判断一个数字是否为水仙花数:
```
public static boolean isNarcissisticNumber(int num) {
int originalNum = num;
int result = 0;
while (num != 0) {
int remainder = num % 10;
result = result + remainder * remainder * remainder;
num = num / 10;
}
if (result == originalNum) {
return true;
}
return false;
}
```
### 回答2:
判断一个数字是否是水仙花数字的方法可以按照以下步骤进行实现:
1. 编写一个名为isNarcissisticNumber的方法,该方法接受一个整数作为参数,返回一个布尔值。
2. 将接受的整数转换为字符串,以便逐位处理。
3. 获取数字的位数,可以通过将数字转换为字符串后调用其length()方法来获取。
4. 使用一个变量sum来保存各位数上的立方和,初始值为0。
5. 使用一个循环,将每一位数字提取出来,并计算其立方值累加到sum上。
6. 循环结束后,判断sum是否等于原始输入的数值,如果相等,则说明是水仙花数字,返回true;否则,不是水仙花数字,返回false。
以下是一个示例的Java代码实现:
```java
public class Main {
public static void main(String[] args) {
int number = 153;
if (isNarcissisticNumber(number)) {
System.out.println(number + "是水仙花数字");
} else {
System.out.println(number + "不是水仙花数字");
}
}
public static boolean isNarcissisticNumber(int number) {
String numberStr = String.valueOf(number);
int length = numberStr.length();
int sum = 0;
for (int i = 0; i < length; i++) {
int digit = Character.getNumericValue(numberStr.charAt(i));
sum += Math.pow(digit, length);
}
return sum == number;
}
}
```
以上代码的执行结果将输出"153是水仙花数字",因为153的每个位上的数字的立方和为153。
### 回答3:
水仙花数字是指一个三位数,其个位、十位和百位数字的立方和等于该数字本身。下面是一个判断一个数字是否为水仙花数字的Java方法的实现:
```java
public class NarcissisticNumber {
public static boolean isNarcissisticNumber(int number) {
// 获取百位、十位和个位数字
int hundredDigit = number / 100;
int tenDigit = (number / 10) % 10;
int unitDigit = number % 10;
// 计算立方和
int sumOfCubes = (int) (Math.pow(hundredDigit, 3) + Math.pow(tenDigit, 3) + Math.pow(unitDigit, 3));
// 判断是否为水仙花数字
if (sumOfCubes == number) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
int number = 153;
if (isNarcissisticNumber(number)) {
System.out.println(number + "是水仙花数字");
} else {
System.out.println(number + "不是水仙花数字");
}
}
}
```
以上代码中,`isNarcissisticNumber`方法用于判断一个数字是否为水仙花数字。首先,将输入的三位数拆分成百位、十位和个位数字。然后,计算这三个数字的立方和。最后,判断计算结果是否和原数字相等,如果相等,则该数字是水仙花数字,返回`true`;否则,不是水仙花数字,返回`false`。
在`main`方法中,我们使用`isNarcissisticNumber`方法来验证一个数字是不是水仙花数字,并打印相应的结果。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)