| 本帖最后由 月生春 于 2014-1-18 23:18 编辑 
 我是看了前面一位同学的问题:打印水仙花的问题 ?   他的问题我没能帮其解决,到给自己带来了问题,求帮助!
 
 
 打印水仙花数!  所谓的“水仙花”是指一个三位数,其个位数的立方和等于该数本身。例如:153是一个水仙花数,因为153=(1的立方+5的立方+3的立方)。
 
 
 我用我自己的方法能够打印任意一段数字内的水仙花数,也就是你输入一位数,它就会将0到这为数之间的水仙花数打印出来,我觉得我代码没什么问题,可为什么得不到结果呢?
 
 
 代码如下:
 package wsc.itheima.com;
 import java.util.ArrayList;
 import java.util.Iterator;
 public class MyTest3 {
 
 public static void main(String[] args) {
 PrintNarcissus(1000);
 }
 private static void PrintNarcissus(int num){              //打印水仙花数的方法
 for(int x=0;x<=num;x++){                                 //对传入的数遍历
 ArrayList<Object> al=new ArrayList<Object>();        // 定义集合
 int len=0;
 String s = String.valueOf(x);//将整形转化为字符串      //转换成字符串
 for(int y=0;y<s.length();y++){                                      //遍历
 int n=Integer.parseInt(s.substring( y, y+1));                  //截取每一位上的数,转换为整数
 al.add(n*n*n);                                                                 //将其立方值添加到集合中
 
 }
 Iterator<Object> it=al.iterator();                                    //迭代
 while(it.hasNext()){
 len+=(Integer)it.next();                                               //将其每位数上的立方值添加赋给len
 }
 if(len==num){                                                             //判断是否符合情况,打印出来
 System.out.println(num);
 }
 }
 }
 }
 
 
 |