题目
蒂米和莎拉认为他们恋爱了,但他们住在哪里,他们只会知道他们每次都摘花。如果其中一朵花的花瓣数量偶数,而另一朵花的花瓣数量奇数则意味着它们相爱。
写一个函数,它将花费每朵花的花瓣数,如果他们恋爱就会返回true,如果不是,则返回false。
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class OppositesAttractTest {
@Test
public void testOddAndEven() {
assertEquals(true, OppositesAttract.isLove(1, 4));
}
@Test
public void testEvenAndEven() {
assertEquals(false, OppositesAttract.isLove(2, 2));
}
@Test
public void testOddAndOdd() {
assertEquals(false, OppositesAttract.isLove(1, 1));
}
@Test
public void testEvenAndOdd() {
assertEquals(true, OppositesAttract.isLove(0, 1));
}
}
解题
My
public class OppositesAttract {
public static boolean isLove(final int flower1, final int flower2) {
return (flower1 % 2 == 0 && flower2 % 2 != 0) || (flower1 % 2 != 0 && flower2 % 2 == 0);
}
}
Other
public class OppositesAttract {
public static boolean isLove(final int flower1, final int flower2) {
return flower1 % 2 == flower2 % 2 ? false : true;
}
}
后记
我还以为我的解法挺聪明的,没想到别人更精辟。
网友评论