A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 秦松 中级黑马   /  2012-10-25 23:22  /  2497 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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+",");
   }
  }
}
}

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

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

13 个回复

倒序浏览
我也不知道你这代码怎么了,我自己写了一遍可以出结果
回复 使用道具 举报
楼主不认真。。。
if (i == a * a * a + b * b * b * +c * c * c) { //多了一个*!!!
      System.out.print(i+",");
   }

点评

还是你火眼金睛  发表于 2012-10-26 20:58
回复 使用道具 举报
if (i == a * a * a + b * b * b * +c * c * c)   你的if语句有错误 多了一个*
回复 使用道具 举报
本帖最后由 杨雪松 于 2012-10-26 00:46 编辑

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

点评

哈哈~~~不好意思 给哥们填麻烦了 我也是第二天才发现哪错了  发表于 2012-10-26 20:58
回复 使用道具 举报
本帖最后由 杨雪松 于 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. }
复制代码
我老找不出你的错误,自己也写了一个好想的

回复 使用道具 举报
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+",");
    }
   }
}
}
回复 使用道具 举报
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 20:57
回复 使用道具 举报
开始吧lz的代码复制硬是没问题,后来把三个成了后再加,这样行,然后在改回来,发现可以,然后和lz的仔细对比才发现问题,可见这种事情不得不谨慎,可能手指不小心抖了下要调试半天额。

点评

按的时候两手指在那两个键上,来回的按一只手指多按了.....  发表于 2012-10-26 20:56
回复 使用道具 举报
恩,以后我也要认真写了,真是一个粗心就耽误时间
回复 使用道具 举报
哈哈,,经验啊

点评

呵呵 我也长了经验  发表于 2012-10-26 20:55
回复 使用道具 举报
路过                           
回复 使用道具 举报
手抖都能捞分{:soso_e141:}

点评

我笑了 呵呵  发表于 2012-10-26 20:54
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马