Я хочу напечатать границу квадрата ... Он может печатать только с одной стороны, или больше стороны квадрата, так что я написал этот методКак улучшить этот код? (Слишком много если)
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);
}
}
Он может работать нормально , но я думаю, что это не так изящно, слишком много, если, и все утверждения более или менее одинаковы. Я думаю, должен быть способ упростить эти коды, любые предложения?
Я тоже люблю бинарные сравнения. Просто исправьте свой «square.printBorder», который одинаковый для всех случаев. – ThibThib
Упс. Благодарю. Это то, что я получаю для публикации в 2.30 утра после бара. –
Кроме того, я бы не совмещал битмаски с добавлением - это запрос об ошибках, если вы когда-либо включали северную границу дважды, скажем. Лучше печататьBorder (NORTH | SOUTH | EAST); –