java基础--while循环实现水仙花数

时间:2023-02-23 23:21:56

什么是水仙花数

解析:

一个三位数,其各位数字的立方和是其本身
例如:
153 = 1*1*1+5*5*5+3*3*3
使用for循环
问题:
如何获取各位的数?
例如:
153--
个位3: 153 % 10       =3
十位5: 153 /10 %10     =5
百位1: 153 /10 /10 %10  =1

上代码:

package com.lcn.day04;

public class NarcissisticNumberDemo {

/**
*while循环实现水仙花数问题
*/
public static void main(String[] args) {
System.out.println("100-1000中的水仙花数有:");
int i = 100; //1-初始化

while(i<1000){ //2-循环条件
//----------------------------------------------------
int ge = i%10; //得到个位
int shi = i/10%10; //得到十位
int bai = i/100%10; //得到百位
//*******************3-两个虚线之间是循环体语句*************
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
System.out.println(i);
}
//-----------------------------------------------------
i++; //4-循环条件控制语句
}

}

}