我要打印的正方形边框... 它可以只打印一面,或广场的多个边,所以我写了这个方法如何改进此代码? (太多IF)
printBorder(N, E, S, W) {
if (N) {
square.printBorder(0,0,0,10);
}
if (E) {
square.printBorder(0,10,10,10);
}
if (S) {
square.printBorder(10,0,10,10);
}
if (W) {
square.printBorder(0,0,10,0);
}
}
它可以正常工作,但我认为它不是那么优雅,如果太多了,而且所有的陈述都差不多一样。我认为必须有一种方法来简化这些代码,有什么建议吗?简化IT的
我喜欢二进制比较过。 只需修复所有情况下相同的“square.printBorder” – ThibThib 2009-08-08 09:12:58
哎呦。谢谢。这就是我在酒吧之后的凌晨2点30分发布的内容。 – 2009-08-08 15:25:37
另外,我不会将位掩码与加法结合在一起 - 如果您曾经两次包含北边界,那就是要求提供错误。更好地printBorder(NORTH | SOUTH | EAST); – 2009-08-08 16:09:28