题目
人类和其他哺乳动物中的雄性配子或精子细胞是异源性的,并且包含两种类型的性染色体中的一种。它们是X或Y.然而,雌配子或蛋只含有X性染色体并且是同源的。
在这种情况下,精子细胞决定了个体的性别。如果一个含有X染色体的精子细胞使一个卵子受精,那么得到的合子将是XX或女性。如果精子细胞含有Y染色体,那么所得的合子将是XY或男性。
根据男性精子中存在的X或Y染色体,确定后代的性别是男性还是女性。
如果精子含有X染色体,则返回“恭喜!您将有一个女儿。”; 如果精子含有Y染色体,请返回“恭喜!您将有一个儿子。”;
测试用例:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;
public class SolutionTest {
@Test
public void tests() {
assertEquals("Congratulations! You're going to have a son.", Kata.chromosomeCheck("XY"));
assertEquals("Congratulations! You're going to have a daughter.", Kata.chromosomeCheck("XX"));
}
}
解题
我的:
public class Kata {
public static String chromosomeCheck(String sperm) {
switch (sperm) {
case "XY":
return "Congratulations! You're going to have a son.";
case "XX":
return "Congratulations! You're going to have a daughter.";
default :
return "chromosomes error!!!";
}
}
}
别人的:
public class Kata {
public static String chromosomeCheck(String sperm) {
return "Congratulations! You're going to have a " + (sperm.contains("Y") ? "son." : "daughter.");
}
}
思考
今天选的题目似乎简单了,尬!