题目
在这个简单的作业中,你会得到一个数字,并且必须使它成为负数。但也许这个数字已经是负数?
例:
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函数。。。