开发者社区> 问答> 正文

有没有一种方法可以重构这些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");
    }
  }
}

问题来源:Stack Overflow

展开
收起
montos 2020-03-24 14:43:04 381 0
1 条回答
写回答
取消 提交回答
  • 您可以分别评估北/南和东/西情况,并将方向粘贴到您的消息中。

    System.out.printf("Travelling %s-%s%n", (yDirection < 0 ? "North" : "South"),
                      (xDirection < 0 ? "West" : "East"));
    

    我从您问题的代码中假设,您只关心这四个互补方向(不是正北,正东,静止等)。

    回答来源:Stack Overflow

    2020-03-24 14:43:26
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《0代码搭应用》 立即下载
不止代码 立即下载
用RxSwift写易维护易读的愉悦代码 立即下载