java - 有没有办法重构这些 if 语句?
问题描述
只是想知道是否有办法重构下面的代码?我是 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");
}
}
}
提前感谢您的帮助!
解决方案
您可以单独评估北/南和东/西条件,并将方向粘贴到您的信息中。
System.out.printf("Travelling %s-%s%n", (yDirection < 0 ? "North" : "South"),
(xDirection < 0 ? "West" : "East"));
我从您问题中的代码中假设您只关心这四个互补方向(而不是正北、正东、静止等)。
推荐阅读
- c - C中的链表函数参数
- python - Azure Python 函数重试限制在逻辑应用中不起作用
- ios - Tableview 单元格在向下滚动时消失,除了每个部分的最后一个单元格变成灰色
- python - 如何将 plt.yscale('log') 用于 0 到 1 之间的特定值?
- python - 如何在 Python 中修复超出范围的字符串索引
- javascript - 如何找出两个给定日期之间的百分比?
- swiftui - SwiftUI - 带有嵌套 NavigationViews 的 TabView 重置 Navigationflow
- javascript - Symfony NucleosAntiSpamBundle
- powershell - 将项目从一个文件夹移动到另一个但在另一个子目录中
- javascript - 不允许请求资源(获取错误)