Java基础--取任意一个整数的各个位的数值
整体思路:循环拿这个数对10取余,再除以10,判断是不是0
while (num > 0) {
int v = num%10;
num /= 10;
}
案例:
* 需求:在控制台输出所有的”水仙花数”
* 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
* 举例:153就是一个水仙花数。
* 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
public static void main(String[] args) {
int countAll = 0;
// 水仙花数
for(int i=100; i<1000; i++) {
int num = i; //数值
int result = 0; //各个位三次方相加后的数值
while (num > 0) {
int v = num%10;
result += v*v*v;
num /= 10;
}
if (result == i) {
countAll ++;
System.out.println("第"+countAll+"个水仙花数为:"+result);
}
}
}
//结果:
//第1个水仙花数为:153
//第2个水仙花数为:370
//第3个水仙花数为:371
//第4个水仙花数为:407

浙公网安备 33010602011771号