水仙花数:是指一个三位数,其各个位数的立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
package cn.campsg.java.experiment; //创建cn.campsg.java.experiment的包
import java.util.Scanner;
public class DaffodilsNum {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入0-1000内的数字:");
Scanner in = new Scanner(System.in);
int a = in.nextInt();
in.close(); //调用Scanner的nextInt方法获取用户输入的数值a。
int i,j,k,sum,sum1,sum2,sum3; //定义三个变量用来分别存储个位、十位、百位上的数及其3次方。
if(a < 0 || a > 1000) {
System.out.println("输入的不是0-1000内的数字!");
return;
}else if( a >= 0 && a <= 1000) {
i=a%10;
j=a/10%10;
k=a/100; //将三位数的个位、十位、百位上的数分别赋值给i,j,k。
sum1=i*i*i;
sum2=j*j*j;
sum3=k*k*k; //个位、十位、百位数的3次方。
sum = sum1+sum2+sum3; //分别计算各个位数的立方值并求和,赋值为sum。
if(a == sum) // 判断计算结果与用户输入的数值是否相等:
{
System.out.println(a+"是水仙花数!"); //是水仙花数,打印:用户输入的数值 + “是水仙花数!”
}else
System.out.println(a+"不是水仙花数!");//不是水仙花数,打印:用户输入的数值 + “不是水仙花数!”
截图如下: