r0l*_*lie 2 java refactoring if-statement conditional-statements
只是想知道是否有办法重构下面的代码?我是 Java 新手,并试图拥有 DRY 代码 - 我写的下面但似乎有很多条件要检查
void printDirection() {
if (yDirection > 0) {
if (xDirection < 0) {
println("Travelling South-West");
} else {
println("Travelling South-East");
}
} else if (yDirection < 0) {
if (xDirection <0) {
println("Travelling North-West");
} else {
println("Travelling North-East");
}
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
您可以单独评估北/南和东/西条件,并将方向粘贴到您的消息中。
System.out.printf("Travelling %s-%s%n", (yDirection < 0 ? "North" : "South"),
(xDirection < 0 ? "West" : "East"));
Run Code Online (Sandbox Code Playgroud)
我从您问题中的代码中假设您只关心这四个互补方向(不是正北、正东、静止等)。
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |