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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永贵 中级黑马   /  2013-6-18 14:44  /  1262 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    下面程序是实现找出1000以内的所有水仙数。     水仙数是其各位数的立方数之和等于该数,如 153=1^3+5^3+3^3 。
   我写了下面的程序,但不知道哪出错了,请大家指点指点!


    public class Shuixianshu  {
          int a , b, c ;
          public static boolean sxs ( ) {
             a=m%10 ;
             b=(m/10)%10;
             c=m%100;
             return  (a*a*a+b*b*b+c*c*c==m) ;
          }
          public static void main(String [ ]  args)  {
                for  (int i=100; i<1000 ;  i++ )   {
                if  ( sxs ( i ) )
                   System.out.println ( i + " 是水仙数. " );
                }
           }
    }

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
  1. public class Shuixianshu  {
  2.         public static boolean sxs(int m){<font color="#ff0000">//这里缺少了参数</font>
  3.         int a , b, c ;<font color="#ff0000">//这里,静态方法里不能访问非静态变量,要么给这三个变量加静态,要么声明到函数里</font>
  4.         a=m%10 ;
  5.         b=(m/10)%10;
  6.         c=m/100;<font color="#ff0000">//这里取百位的值 直接除</font>
  7.         /*System.out.println("a="+a);
  8.         System.out.println("b="+b);
  9.         System.out.println("c="+c);*/
  10.         return  (a*a*a+b*b*b+c*c*c==m) ;
  11.     }
  12.     public static void main(String [ ]  args)  {
  13.          for  (int i=100; i<1000 ;  i++ )   {
  14.                   if  ( sxs (i) )
  15.                      System.out.println ( i + " 是水仙数. " );
  16.            }
  17.             //System.out.println(sxs(153));
  18.     }
  19. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报
呃。。注释写在了代码里,,把<font>标签无视掉
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马