不好意思,我少写了一个人 抱歉 是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); } } } } (若有错误还请各位帮忙修改下) 第二题是我们老师出的题目,我该如何解决呢?
汗,正方形同样有width和height的,只不过是限制要相等罢了,没看出不一致
1 结果是 153 370 371 407 2 让你老师去看 Robert C. Martin 《敏捷软件开发 原则、模式与实践> 中文版 第104页。
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); } } } }
public void testXXX(Rectangle r){ r.setWidth(13); r.setHeight(5); assertThat(r.area(),is(65)); }
所以本题错误。2
class Rectangle
class Square extends Rectangle
是OO继承中典型的错误,在行为上不是is-a 关系。不要照搬平面几何。
本题又是一个错误。
class Square extends Rectangle
是OO继承中典型的错误,在行为上不是is-a 关系。不要照搬平面几何。Square: 正方形
Rectangle:矩形
正方形不是矩形的一种吗?我迷惑了
矩形有2个:width,height。可以单独变化,互不影响。
正方形只有一个:width ,若继承矩形、行为就不一致了。
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);
}
}
}
}
(若有错误还请各位帮忙修改下) 第二题是我们老师出的题目,我该如何解决呢?
2 让你老师去看 Robert C. Martin 《敏捷软件开发 原则、模式与实践> 中文版 第104页。
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);
}
}
}
}
r.setWidth(13);
r.setHeight(5);
assertThat(r.area(),is(65));
}
super.setWidth(w);
}public void setHeight(int h) {
super.setWidth(h);
}