打印指定的水仙花数,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。public static void main(String[] args) {
//输出提示信息
System.out.println("请输入一个数字,来搜索从100到它的水仙花数");
//开启控制台输入流,接收一个数字,并把它转成字符串。
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
sc.close();
//判断,如果字符串的长度不等于3,则它不满足水仙花数的条件,输出提示信息
if(str.length()!=3){
System.out.println("您输入的数字格式不符合水仙花数");
}else{
//如果满足则开始判断,先转成把该数转成int型,在定义3个int,用来存放该数的个,十,佰,位
int b,s,g,num = Integer.parseInt(str);
//开始遍历,从100到输入的num数
for(int x=100;x<num;x++){
b=x/100;
s=(x-b*100)/10;
g=x-b*100-s*10;
//判断如果满足三个数的立方之和等于该数,则输出次数
if(x==(int)(Math.pow(g, 3)+Math.pow(s, 3)+Math.pow(b, 3))){
System.out.println("从100到"+num+"的水仙花数有"+x);
}
}
}
}
|
|