每日一练38——Java返回负值(8kyu)

题目

在这个简单的作业中,你会得到一个数字,并且必须使它成为负数。但也许这个数字已经是负数?

例:

Kata.makeNegative(1); // return -1
Kata.makeNegative(-5); // return -5
Kata.makeNegative(0); // return 0
笔记:

该数字可能已为负数,在这种情况下无需更改。
零(0)不能为负,请参见上面的示例。

注:这题做过类似的,《每日一练34》

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class MakeNegativeTest {

  @Test
  public void test1() {
    assertEquals(-42, Kata.makeNegative(42));
    assertEquals(-1, Kata.makeNegative(-1));
    assertEquals(0, Kata.makeNegative(0));
  }
}

解题

我的:
最佳实践

public class Kata {
  public static int makeNegative(final int x) {
      return x<0 ? x : -x;;
  }
}

别人的:
最聪明

import static java.lang.Math.abs;

public class Kata {

  public static int makeNegative(final int x) {
    return -abs(x);
  }
  
}

思考

还有abs函数。。。

你可能感兴趣的:(每日一练38——Java返回负值(8kyu))