需求:在控制台输出所有的“水仙花数” 分析: 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身 举例:153就是一个水仙花数 153 = 1*1*1+5*5*5+3*3*3 A:三位数其实是告诉我们范围 B:通过for循环我们就可以实现获取每一个三位数 但是麻烦的是如何获取这个三位数的个,十,百位上的数据 我们如何获取一个数据的个,十,百位上的数据呢? 假设有一个数据:153 个:153%10 = 3 十:153/10%10 = 15%10 = 5 百:153/10/10%10 = 1%10 = 1 千:x/10/10/10%10 C:让个*个*个+十*十*十+百*百*百的和该数据比较 如果相同,就把该数据在控制台输出。
class ForDemo6{ public static void main(String[] args){ //三位数其实是告诉我们范围 for(int x = 100;x <= 999;x++){ int ge = x % 10; int shi = x / 10 % 10; int bai = x/10 / 10 % 10; if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)){ System.out.println(x); } } } }