黑马程序员技术交流社区
标题:
关于水仙花数的问题
[打印本页]
作者:
魁子
时间:
2015-9-9 21:38
标题:
关于水仙花数的问题
今天老师讲了for循环的知识!当讲到水仙花时候我是似懂非懂,
需求:在控制台输出所有的”水仙花数”
* 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
代码如下:
class Test3_Flower {
public static void main(String[] args) {
for (int i = 100;i <= 999 ;i++ ) { //获取100到999之间的数
int ge = i % 10; //123 % 10
int shi = i / 10 % 10; //12 % 10;
int bai = i / 10 / 10 % 10; //1 % 10
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
System.out.println(i);
}
}
}
}
复制代码
就是有关 获取个位数、十位数、百位数的那块,感觉理解不太深刻!!有没有好办法解释一下获取个位、十位、百位的 方法!!!
作者:
然后呢8908
时间:
2015-9-9 21:43
这个给你个快捷记忆,获取个位直接%10,获取十位/10再%10,百位/100再%10,再多练习几次就记得很深刻了。
作者:
blackpig
时间:
2015-9-9 22:14
例如在100至999中任取一个三位数123:
想要获取个位数3,就需要int ge=x%10;//123%10商12余3,这个3也正是我们要获取的个位数-->>
-->int shi=x/10%10;//123除以10的结果因为是整形所以取整得12,12%10商1余2,这个2就是要获取的十位数-->>
-->int bai=x/10/10;123除以100商1,这个1就是要获取的百位数(变量x是定义在循环语句表达式中的100至999的某个不确定的三位数)
其余的三位数也是按这种思路便可获取其个位,十位,百位,你可以自己试试,还不理解就找明白的人问问,再不理解练熟这段代码,需要的时候能直接使用这种思想就可以了.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2