判断一个数是否是水仙花数。用java代码实现如下:
import java.util.*;
public class ShuXianHua {
public static void main(String[] args) {
int sum=0; //求各个位数的三次方和
int a; //用来暂存字符转成的数字
int b; //用来暂存一开始输入的数字
System.out.println("请任意输入一个数");
Scanner s = new Scanner(System.in);
String str = String.valueOf(s.nextInt()); //将该数字转成一个字符串类型
b = s.nextInt();
int length = str.length();
if(length<3){
System.out.println("请输入一个不小于三位数的数");
}
for(int i=0;i<=str.length()-1;i++){
a = str.charAt(i)-'0'; //把这个字符型的数字转成整型
sum+=(int) Math.pow(a,3);
}
if(sum ==b){
System.out.println("该数是水仙花数");
}
else{
System.out.println("该数不是水仙花数");
}
}
}
我用的方法是将整型数转化成字符串来解决的。每一步都对应有相应的注释。如果和更好想法的读者可以给我留言,再进行优化!感谢您的阅读。