1. 求100以内的水仙花数   小弟我不知道何为“水仙花数”,求各位帮帮忙写下代码 顺便 带点解释   不甚感激......2.  定义一个矩形,由矩形类派生出正方形类,自行定义变量和方法,再定义一个接口,接口中要包含一个方法。  如何写这两个定义的代码  ?  求    急需!!!!

解决方案 »

  1.   

    1 水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。 
    所以本题错误。2
    class Rectangle 
    class Square extends Rectangle
    是OO继承中典型的错误,在行为上不是is-a 关系。不要照搬平面几何。
    本题又是一个错误。
      

  2.   

    class Rectangle  
    class Square extends Rectangle
    是OO继承中典型的错误,在行为上不是is-a 关系。不要照搬平面几何。Square: 正方形
    Rectangle:矩形
    正方形不是矩形的一种吗?我迷惑了
      

  3.   


    矩形有2个:width,height。可以单独变化,互不影响。
    正方形只有一个:width ,若继承矩形、行为就不一致了。
      

  4.   

    不好意思,我少写了一个人    抱歉   是1000以内的水仙花数,各位帮我看看这么写有问题么!
    public class NarcissusNumber 
    {
        public static void main(String[] args) 
       {
            for (int n = 100; n < 1000; n++) 
           {
                int i = n / 100; //百位数
                int j = (n - i * 100) / 10;
                int k = n - i * 100 - j * 10; 
                if (n == i * i * i + j * j * j + k * k * k) 
                {
                    System.out.print("  " + n);
                }
            }
        }
    }
       (若有错误还请各位帮忙修改下) 第二题是我们老师出的题目,我该如何解决呢?
      

  5.   

    汗,正方形同样有width和height的,只不过是限制要相等罢了,没看出不一致
      

  6.   

    1 结果是 153 370 371 407
    2 让你老师去看 Robert C. Martin 《敏捷软件开发 原则、模式与实践> 中文版 第104页。
      

  7.   

    public class Test {
        public static void main(String[] args) {
            for (int n = 100; n < 1000; n++) {
                int i = n / 100; // 百位数
                int j = n % 100 / 10; // 十位数
                int k = n % 10; // 个位数
                if (n == i * i * i + j * j * j + k * k * k) {
                    System.out.print(" " + n);
                }
            }
        }
    }
      

  8.   

    public void testXXX(Rectangle r){
        r.setWidth(13);
        r.setHeight(5);
        assertThat(r.area(),is(65));
    }
      

  9.   

    水仙花数没错,见http://topic.csdn.net/t/20050223/13/3800483.html
      

  10.   

    ^_^,难道你不重写setWidth(), setHeight()方法?继承本来就要重写该重写的方法public void setWidth(int w) {
       super.setWidth(w);
    }public void setHeight(int h) {
       super.setWidth(h);
    }