打印所有水仙花数java只用for循环
时间: 2024-11-29 11:39:21 浏览: 13
打印水仙花数是指一个三位数,其各位数字立方和等于该数本身。在Java中,我们可以使用for循环遍历100到999范围内的每一个整数,然后计算它的百位、十位和个位数的立方和,如果相等就输出这个数。以下是仅用一个for循环实现的示例代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) {
int hundreds = num / 100;
int tens = (num % 100) / 10;
int ones = num % 10;
if (hundreds * hundreds + tens * tens + ones * ones == num) {
System.out.println(num); // 输出水仙花数
}
}
}
}
```
相关问题
打印所有水仙花数java
打印所有水仙花数( Narcissistic Number ),是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是用Java编写的一个简单程序,用于找出并打印所有的水仙花数:
```java
public class NarcissisticNumbers {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) { // 遍历三位数范围
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 检查一个数是否为水仙花数
public static boolean isNarcissistic(int number) {
int sum = 0;
String numStr = Integer.toString(number); // 将整数转换为字符串,便于处理每一位
for (char digit : numStr.toCharArray()) { // 对每个位数进行立方和计算
int digitValue = Character.getNumericValue(digit); // 获取字符对应的数值
sum += Math.pow(digitValue, 3); // 累加立方值
}
return sum == number; // 如果累加结果等于原数,则返回true,表示是水仙花数
}
}
```
运行这个程序,它会打印出所有的水仙花数。
用Java的for循环打印水仙花数
可以的,以下是Java的for循环打印水仙花数的代码:
for(int i=100;i<100;i++){
int a=i/100;
int b=i/10%10;
int c=i%10;
if(i==a*a*a+b*b*b+c*c*c){
System.out.println(i);
}
}
阅读全文