本帖最后由 王江涛 于 2014-5-10 00:42 编辑
- /*
- 描述
- 请判断一个数是不是水仙花数。
- 其中水仙花数定义各个位数立方和等于它本身的三位数。
- 输入
- 有最多10组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
- 输入0表示程序输入结束。
- 输出
- 如果n是水仙花数就输出Yes
- 否则输出No
- 样例输入:
- 153
- 154
- 0
- 样例输出:
- yes
- No
- */
- import java.util.Scanner;
- class Opr //定义Opr类,用于验证水仙花数,真返回Yes,假返回No.
- { String str=null;
- public String cheak(int n)
- {
-
- int a=n/100;
- int b=(n-a*100)/10;
- int c=n-a*100-b*10;
- if(n==a*a*a+b*b*b+c*c*c)
- str="Yes";
- else
- str="No";
- return str;
- }
- }
- public class demo3
- {
- public static void main(String args[])
- { int i=0;
- int arry[]=new int[10]; //定义并初始化数组,用于存放要验证的数
- Scanner scan=new Scanner(System.in);
- Opr op=new Opr();
- arry[i]=scan.nextInt();
- while(true)
- {
-
- if(arry[i]==0) //输入的数据等于0,则退出
- {
- System.exit(1);
- }
- else
- {
- i++;
- arry[i]=scan.nextInt();
- }
- }
- for(int j=0;arry[i]!=0;j++)
- {
- System.out.println(op.cheak(arry[j])); //调用cheak方法,打印结果
- }
- }
- }
复制代码 |