您的位置:首页 > 编程语言

2016去哪儿编程题:5-血型遗传检测

2016-04-12 20:14 267 查看

题目描述

血型遗传对照表如下:

父母血型子女会出现的血型子女不会出现的血型
O与OOA,B,AB
A与OA,OB,AB
A与AA,OB,AB
A与BA,B,AB,O——
A与ABA,B,ABO
B与OB,OA,AB
B与BB,OA,AB
B与ABA,B,ABO
AB与OA,BO,AB
AB与ABA,B,ABO
请实现一个程序,输入父母血型,判断孩子可能的血型。

给定两个字符串fathermother,代表父母的血型,请返回一个字符串数组,代表孩子的可能血型(按照字典序排列)。

测试样例:
”A”,”A”

返回:[”A”,“O”]
解题
字典给你了,直接HashMap就可以了,注意,父母的血型互换后结果是一样的。


importjava.util.*;

publicclassChkBloodType{
/**
*请实现一个程序,输入父母血型,判断孩子可能的血型。
*都给了,判断取出可能血型
*/
publicString[]chkBlood(Stringfather,Stringmother){
//writecodehere
HashMap<String,String[]>map=newHashMap<String,String[]>();
map.put("OO",newString[]{"O"});
map.put("AO",newString[]{"A","O"});
map.put("OA",newString[]{"A","O"});
map.put("AA",newString[]{"A","O"});
map.put("AB",newString[]{"A","AB","B","O"});
map.put("BA",newString[]{"A","AB","B","O"});
map.put("AAB",newString[]{"A","AB","B"});
map.put("ABA",newString[]{"A","AB","B"});
map.put("BO",newString[]{"B","O"});
map.put("OB",newString[]{"B","O"});
map.put("BB",newString[]{"B","O"});
map.put("BAB",newString[]{"A","AB","B"});
map.put("ABB",newString[]{"A","AB","B"});
map.put("ABO",newString[]{"A","B"});
map.put("OAB",newString[]{"A","B"});
map.put("ABAB",newString[]{"A","AB","B"});

returnmap.get(father+mother);

}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: