/**
* 水仙花循环
*解释:什么是水仙花数?
* 水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数
* 如:153 ---- 3*3*3 + 5*5*5 + 1*1*1 = 153
* @date: 2023/4/27
*/
public class shuixianhua {
//位数的提取
public static int[] getDigit(int number){
/**
* 例如,156
* 个位 : 156 % 10 = 6 -----> 156 / 10 = 16 余 6
* 十位 : 156 / 10 % 10 = 5 -----> 156 / 10 = 15
* 15 / 10 = 1 余 5
* 百位 : 156 / 10 / 10 % 10 = 1
*位数以此类推
*数学表示(在Java中平方使用的是Math.pow方法计算)
* 数字 number 的 个位:number / 10º %10
* 十位:number / 10¹ %10
* 百位:number / 10² %10
*/
//转为字符串获取长度
String numberStr= String.valueOf(number);
//定义int数组存储位数值
int[] digit = new int[numberStr.length()];
for (int i = 0; i < numberStr.length(); i++) {
int pow = (int) Math.pow(10,i);
digit[i] = number / pow % 10;
}
return digit;
}
public static void main(String[] args) {
int[] ints = getDigit(133);
for (int i : ints) {
System.out.print(i + "\t");
// 3 3 1
}
}
}
java循环之水仙花数-超细
最新推荐文章于 2023-08-25 11:38:58 发布