黑马程序员技术交流社区

标题: 水仙花代码 [打印本页]

作者: 秦松    时间: 2012-10-25 23:22
标题: 水仙花代码
package temp;
public class Hua {
/**

  * 打印出所有的"水仙花数"。 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
  * 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 提示:
  * 1:采用循环取得所有的三位数。(三位数指的是100-999之间的数)。 2:把每个三位数的个位,十位,百位进行分解。


  *
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
    for (int i = 100; i < 1000; i++) {
     int a = i / 100;// 求出百位数
     int b = i / 10 % 10;// 求出十位数
     int c = i % 10;// 求出个位数
     if (i == a * a * a + b * b * b * +c * c * c) {
      System.out.print(i+",");
   }
  }
}
}

我写的这个编译通过了,却没有得到结果,想请教高手错出在哪?


作者: 打工人    时间: 2012-10-26 00:06
我也不知道你这代码怎么了,我自己写了一遍可以出结果
作者: 王永荣    时间: 2012-10-26 00:14
楼主不认真。。。
if (i == a * a * a + b * b * b * +c * c * c) { //多了一个*!!!
      System.out.print(i+",");
   }
作者: 樊鹏飞    时间: 2012-10-26 00:17
if (i == a * a * a + b * b * b * +c * c * c)   你的if语句有错误 多了一个*
作者: 杨雪松    时间: 2012-10-26 00:36
本帖最后由 杨雪松 于 2012-10-26 00:46 编辑

对着你这个代码看了一晚上就是不知道哪错了
最后都快抓狂了才发现
if (i == a * a * a + b * b * b * +c * c * c)
你这里b*b*b*了 最后多出个*
就这么个错误....


作者: 杨雪松    时间: 2012-10-26 00:42
本帖最后由 杨雪松 于 2012-10-26 09:09 编辑
  1. class Hua {

  2. public static void main(String[] args) {
  3.   int a,b,c;     
  4.     for(a=1;a<=9;a++)     
  5.    for(b=0;b<=9;b++)     
  6.     for(c=0;c<=9;c++)     
  7.     if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
  8.     System.out.println(a+""+b+""+c+"");  
  9.       
  10.     }

  11. }
复制代码
我老找不出你的错误,自己也写了一个好想的


作者: 徐升兴    时间: 2012-10-26 08:44
package baseForJava;

public class Hua {
/**

   * 打印出所有的"水仙花数"。 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
   * 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 提示:
   * 1:采用循环取得所有的三位数。(三位数指的是100-999之间的数)。 2:把每个三位数的个位,十位,百位进行分解。


   *
   * @param args
   */
public static void main(String[] args) {
   // TODO Auto-generated method stub
     for (int i = 100; i < 1000; i++) {
      int a = i / 100;// 求出百位数
      int b = i / 10 % 10;// 求出十位数
      int c = i % 10;// 求出个位数
      if (i == a * a * a + b * b * b  +c * c * c) {//多了个*号
       System.out.print(i+",");
    }
   }
}
}package baseForJava;

public class Hua {
/**

   * 打印出所有的"水仙花数"。 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
   * 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 提示:
   * 1:采用循环取得所有的三位数。(三位数指的是100-999之间的数)。 2:把每个三位数的个位,十位,百位进行分解。


   *
   * @param args
   */
public static void main(String[] args) {
   // TODO Auto-generated method stub
     for (int i = 100; i < 1000; i++) {
      int a = i / 100;// 求出百位数
      int b = i / 10 % 10;// 求出十位数
      int c = i % 10;// 求出个位数
      if (i == a * a * a + b * b * b  +c * c * c) {//lz代码没有错,只是多了个*号。
       System.out.print(i+",");
    }
   }
}
}
作者: 一身顺利    时间: 2012-10-26 09:05
public class Shuixianhua {

        /**
         *
         * 打印出所有的"水仙花数"。 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
         * 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 提示:
         * 1:采用循环取得所有的三位数。(三位数指的是100-999之间的数)。 2:把每个三位数的个位,十位,百位进行分解。
         *
         *
         *
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                for (int i = 0; i < 1000; i++) {
                        int a = i / 100;// 求出百位数
                        int b = i / 10 % 10;// 求出十位数
                        int c = i % 10;// 求出个位数
                        if (i == a * a * a + b * b * b + c * c * c) {//楼主看看这行吧,自己小心点
                                System.out.print(i + ",");
                        }
                }
        }

}

作者: 打工人    时间: 2012-10-26 09:08
败了。。。。。。。。。。
作者: 一身顺利    时间: 2012-10-26 09:12
开始吧lz的代码复制硬是没问题,后来把三个成了后再加,这样行,然后在改回来,发现可以,然后和lz的仔细对比才发现问题,可见这种事情不得不谨慎,可能手指不小心抖了下要调试半天额。
作者: 杨华东    时间: 2012-10-26 11:40
路过                           
作者: ssx0101    时间: 2012-10-26 12:44
手抖都能捞分{:soso_e141:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2