实现计算功能

在map包下创建RelationshipMap.java,其中内容如下:

package map;import java.util.HashMap;
import java.util.Map;public class RelationshipMap {public String getRelationShipValueByMap(String key) {Map<String,String> relationship=new HashMap<String,String>();/**************************父族****************************/relationship.put("f","父亲");relationship.put("m","母亲");relationship.put("f,w","母亲");relationship.put("f,f","祖父/爷爷");relationship.put("f,m","祖母/奶奶");relationship.put("f,f,w","祖母/奶奶");relationship.put("f,f,f","曾祖父/太爷爷");relationship.put("f,f,m","曾祖母/太奶奶");relationship.put("f,f,f,w","曾祖母/太奶奶");relationship.put("f,f,f,f","高祖父/老太爷爷");relationship.put("f,f,f,m","高祖母/老太奶奶");relationship.put("f,f,f,f,w","高祖母/老太奶奶");relationship.put("f,bb","伯父/伯伯");relationship.put("f,bb,w","伯母/姆姆");relationship.put("f,sb","叔父/叔叔");relationship.put("f,sb,w","叔母/婶婶");relationship.put("f,bs","姑母/大姑/姑妈");relationship.put("f,bs,h","姑丈/姑夫");relationship.put("f,ss","姑母/姑姑");relationship.put("f,ss,h","姑丈/姑夫");relationship.put("f,bb,s","堂兄/堂哥/哥哥");relationship.put("f,sb,s","堂弟/弟弟");relationship.put("f,bb,s,w","堂嫂/嫂嫂");relationship.put("f,sb,s,w","堂弟妇/弟妹");relationship.put("f,bb,d","堂姐/堂姊");relationship.put("f,bb,d,h","堂姐夫");relationship.put("f,sb,d","堂妹");relationship.put("f,sb,d,h","堂妹夫");relationship.put("f,bs,s","表兄/表哥");relationship.put("f,bs,s,w","表嫂");relationship.put("f,ss,s","表弟");relationship.put("f,ss,s,w","表弟妇");relationship.put("f,bs,d","表姐");relationship.put("f,bs,d,h","表姐夫");relationship.put("f,ss,d","表妹");relationship.put("f,ss,d,h","表妹夫");relationship.put("f,f,bs,s","表伯");relationship.put("f,f,bs,s,w","表姆");relationship.put("f,f,ss,s","表叔");relationship.put("f,f,ss,s,w","表婶");relationship.put("f,f,bs,d","表姑");relationship.put("f,f,bs,d,h","表姑夫");relationship.put("f,f,ss,d","表姑");relationship.put("f,f,ss,d,h","表姑夫");relationship.put("f,m,bb","舅祖父/舅公");relationship.put("f,m,bb,w","舅祖母/妗婆");relationship.put("f,m,sb","舅祖父/舅公");relationship.put("f,m,sb,w","舅祖母/妗婆");relationship.put("f,f,bb","伯祖父");relationship.put("f,f,f,bb,s","堂伯祖父");relationship.put("f,f,bb,w","伯祖母");relationship.put("f,f,f,bb,s,w","堂伯祖母");relationship.put("f,f,sb","叔祖父");relationship.put("f,f,f,sb,s","堂叔祖父");relationship.put("f,f,sb,w","叔祖母");relationship.put("f,f,f,sb,s,w","堂叔祖母");relationship.put("f,f,bs","祖姑母/姑婆");relationship.put("f,f,ss","祖姑母/姑婆");relationship.put("f,f,f,bb,d","祖姑母/姑婆");relationship.put("f,f,f,sb,d","祖姑母/姑婆");relationship.put("f,f,bs,h","祖姑丈/姑婆公");relationship.put("f,f,ss,h","祖姑丈/姑婆公");relationship.put("f,f,f,bb,d,h","祖姑丈/姑婆公");relationship.put("f,f,f,sb,d,h","祖姑丈/姑婆公");relationship.put("f,f,f,bb","曾伯祖父");relationship.put("f,f,f,f,bb,s","曾伯祖父");relationship.put("f,f,f,bb,w","曾伯祖母");relationship.put("f,f,f,f,bb,s,w","曾伯祖母");relationship.put("f,f,f,sb","曾叔祖父");relationship.put("f,f,f,f,sb,s","曾叔祖父");relationship.put("f,f,f,sb,w","曾叔祖母");relationship.put("f,f,f,f,sb,s,w","曾叔祖母");relationship.put("f,f,f,bs","曾祖姑母/太姑婆");relationship.put("f,f,f,ss","曾祖姑母/太姑婆");relationship.put("f,f,f,f,bb,d","曾祖姑母/太姑婆");relationship.put("f,f,f,f,sb,d","曾祖姑母/太姑婆");relationship.put("f,f,f,bs,h","曾祖姑丈/太姑婆公");relationship.put("f,f,f,ss,h","曾祖姑丈/太姑婆公");relationship.put("f,f,f,f,bb,d,h","曾祖姑丈/太姑婆公");relationship.put("f,f,f,f,sb,d,h","曾祖姑丈/太姑婆公");relationship.put("f,f,f,f,bb","高伯祖父/老太公");relationship.put("f,f,f,f,f,bb,s","高伯祖父/老太公");relationship.put("f,f,f,f,bb,w","高伯祖母/老太婆");relationship.put("f,f,f,f,f,bb,s,w","高伯祖母/老太婆");relationship.put("f,f,f,f,sb","高叔祖父/老太公");relationship.put("f,f,f,f,f,sb,s","高叔祖父/老太公");relationship.put("f,f,f,f,sb,w","高叔祖母/老太婆");relationship.put("f,f,f,f,f,sb,s,w","高叔祖母/老太婆");relationship.put("f,f,f,f,bs","高祖姑母/老太姑婆");relationship.put("f,f,f,f,ss","高祖姑母/老太姑婆");relationship.put("f,f,f,f,f,bb,d","高祖姑母/老太姑婆");relationship.put("f,f,f,f,f,sb,d","高祖姑母/老太姑婆");relationship.put("f,f,f,f,bs,h","高祖姑丈/老太姑婆公");relationship.put("f,f,f,f,ss,h","高祖姑丈/老太姑婆公");relationship.put("f,f,f,f,f,bb,d,h","高祖姑丈/老太姑婆公");relationship.put("f,f,f,f,f,sb,d,h","高祖姑丈/老太姑婆公");/**************************母族****************************/relationship.put("m,h","父亲/爸爸");relationship.put("m,f","外祖父/外公/姥爷");relationship.put("m,m","外祖母/外婆/姥姥");relationship.put("m,f,f","大外祖父/外太公/太姥爷");relationship.put("m,f,f,w","大外祖母/外太婆/太姥姥");relationship.put("m,f,m","大外祖母/外太婆/太姥姥");relationship.put("m,bb","舅父/大舅");relationship.put("m,bb,w","舅母/舅妈");relationship.put("m,sb","舅父/舅舅");relationship.put("m,sb,w","舅母/舅妈");relationship.put("m,bs","姨母/大姨/姨妈");relationship.put("m,bs,h","姨丈/姨夫");relationship.put("m,ss","姨母/姨姨");relationship.put("m,ss,h","姨丈/姨夫");relationship.put("m,bb,s","表哥/表弟");relationship.put("m,sb,s","表哥/表弟");relationship.put("m,bb,s,w","表嫂/表弟妇");relationship.put("m,sb,s,w","表嫂/表弟妇");relationship.put("m,bb,d","表姐/表妹");relationship.put("m,bb,d,h","表姐夫/表妹夫");relationship.put("m,sb,d","表姐/表妹");relationship.put("m,sb,d,h","表姐夫/表妹夫");relationship.put("m,bs,s","表哥/表弟");relationship.put("m,ss,s","表哥/表弟");relationship.put("m,bs,s,w","表嫂/表弟妇");relationship.put("m,ss,s,w","表嫂/表弟妇");relationship.put("m,bs,d","表姐/表妹");relationship.put("m,ss,d","表姐/表妹");relationship.put("m,bs,d,h","表姐夫/表妹夫");relationship.put("m,ss,d,h","表姐夫/表妹夫");relationship.put("m,f,bs,s","表舅");relationship.put("m,f,ss,s","表舅");relationship.put("m,f,bs,s,w","表妗");relationship.put("m,f,ss,s,w","表妗");relationship.put("m,f,bs,d","表姨");relationship.put("m,f,bs,d,h","表姨夫");relationship.put("m,f,ss,d","表姨");relationship.put("m,f,ss,d,h","表姨夫");relationship.put("m,m,bb","外舅祖父/外舅公");relationship.put("m,m,sb","外舅祖父/外舅公");relationship.put("m,m,bb,w","外舅祖母/外妗婆");relationship.put("m,m,sb,w","外舅祖母/外妗婆");relationship.put("m,f,bb","外伯祖父/外伯公");relationship.put("m,f,sb","外叔祖父/外叔公");relationship.put("m,f,bb,w","外伯祖母/外姆婆");relationship.put("m,f,sb,w","外叔祖母/外婶婆");relationship.put("m,f,f,bb,s","堂外伯祖父/堂外伯公");relationship.put("m,f,f,sb,s","堂外叔祖父/堂外叔公");relationship.put("m,f,f,bb,s,w","堂外伯祖母/堂外姆婆");relationship.put("m,f,f,sb,s,w","堂外叔祖母/堂外婶婆");relationship.put("m,f,bs","外姑母/外姑婆");relationship.put("m,f,ss","外姑母/外姑婆");relationship.put("m,f,bs,h","外姑丈/外姑婆公");relationship.put("m,f,ss,h","外姑丈/外姑婆公");relationship.put("m,f,f,bb,d","堂外姑母/堂外姑婆");relationship.put("m,f,f,bb,d,h","堂外姑丈/堂外姑婆公");relationship.put("m,f,f,sb,d","堂外姑母/堂外姑婆");relationship.put("m,f,f,sb,d,h","堂外姑丈/堂外姑婆公");/**************************妻族****************************/relationship.put("w,f","岳父");relationship.put("w,m","岳母");relationship.put("w,f,f","太岳父");relationship.put("w,f,m","太岳母");relationship.put("w,f,f,w","太岳母");relationship.put("w,bb","大舅子");relationship.put("w,bb,w","大妗");relationship.put("w,sb","小舅子");relationship.put("w,sb,w","小妗");relationship.put("w,bs","大姨子");relationship.put("w,ss","小姨子");relationship.put("w,bs,h","襟兄");relationship.put("w,ss,h","襟弟");relationship.put("w,f,bb","伯岳父");relationship.put("w,f,bb,w","伯岳母");relationship.put("w,f,sb","叔岳父");relationship.put("w,f,sb,w","叔岳母");return relationship.get(key);}
}

该类中放置了亲属关系的数据。

接着为计算按钮添加事件监听器,其内容如下:

        // “计算”按钮事件countButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String key = new NameProperty().convertTextAreaToString(inputRelationTextArea);outputResultTextArea.setText(new RelationshipMap().getRelationShipValueByMap(key));}});

运行程序,效果如下:

到此为止,所有功能都已经实现了。

总结

这种思路是将所有关系链存储到Map中,而亲属关系是有很多了,上面的10个亲属称谓按钮就可以组成上千种关系,因此使用这种思路完成这个项目就需要列出所有亲属关系链的键值对,需要花费大量的代价。

在下一个项目种将使用JavaFX来实现亲戚关系计算器,并且使用另一种算法来实现。

可搜索微信公众号【Java实例程序】或者扫描下方二维码关注公众号获取更多。

注意:在公众号后台回复【20191116】可获取本节源码。

Java实战之亲戚关系计算器(swing版)(6)——实现计算功能相关推荐

  1. Java实战之亲戚关系计算器(swing版)(1)——项目简述

    项目简述: 该项目是一个通过Java实现的计算亲戚关系的小程序,该小程序具有通过亲戚关系链计算称呼的功能.将介绍如何如何通过Java来实现该项目的全部过程. 使用软件: IntelliJ IDEA 2 ...

  2. Java实战之亲戚关系计算器(JavaFX版)(1)——项目简述

    项目简述: 该项目是一个通过JavaFX实现的计算亲戚关系的小程序,该小程序具有通过亲戚关系链计算称呼的功能.将介绍如何如何通过JavaFX来实现该项目的全部过程. 使用软件: IntelliJ ID ...

  3. Java实战之亲戚关系计算器(JavaFX版)(6)——实现计算功能

    本节概要:实现亲属关系计算 功能一:实现计算功能 在data文件夹下创建RelationShipData.java文件,其中的内容主要是一个二维数组,即关系链数据. 内容如下: package kin ...

  4. Java实战之亲戚关系计算器(swing版)(2)——功能介绍

    功能一:计算亲属关系称谓 比如说:爸爸的爸爸的爸爸是曾祖父,在上面的文本域中显示关系链,而在下面的文本域中显示称谓,这就是计算亲属关系称谓的功能. 点击"父"按钮,在最上面的文本域 ...

  5. Java实战之亲戚关系计算器(JavaFX版)(2)——功能介绍

    功能一:计算亲属关系称谓 比如说:爸爸的爸爸的爸爸是曾祖父,在上面的文本域中显示关系链,而在下面的文本域中显示称谓,这就是计算亲属关系称谓的功能. 点击"父"按钮,在最上面的文本域 ...

  6. Java实战之图书管理系统(swing版)(5)——图书类别添加界面及功能实现

    在上一节中完成了主界面的创建,那么在本节中将实现图书类别的添加功能,BookTypeAddPanel.java类文件在上一节中已经创建成功,那么直接在该文件内写代码即可. 由于从本节开始使用了数据库, ...

  7. java亲戚称呼计算器_python版亲戚关系计算器

    春节到了,免不了要去七大姑八大姨家拜年,顺便接受长辈们的关怀.有时偶然遇到许久没见过的远房亲戚,叫不出合适的称谓就尴尬了:或者即便被家人提示了叫法,但依然不知道和自己是什么关系. 于是就有机智的程序员 ...

  8. python版亲戚关系计算器

    2019独角兽企业重金招聘Python工程师标准>>> 春节到了,免不了要去七大姑八大姨家拜年,顺便接受长辈们的关怀.有时偶然遇到许久没见过的远房亲戚,叫不出合适的称谓就尴尬了:或者 ...

  9. python生日计算器_python版亲戚关系计算器

    春节到了,免不了要去七大姑八大姨家拜年,顺便接受长辈们的关怀.有时偶然遇到许久没见过的远房亲戚,叫不出合适的称谓就尴尬了:或者即便被家人提示了叫法,但依然不知道和自己是什么关系. 于是就有机智的程序员 ...

最新文章

  1. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——遍历和查找
  2. 刚刚!中国高校毕业生薪酬排名Top100出炉!
  3. python画图三维-Python三维绘图之Matplotlib库的使用方法
  4. python软件开发-如何编写Python软件开发文档(7个技巧)
  5. 服务器共享文件和电脑同步,云服务器共享文件夹同步
  6. Win10光驱不见了
  7. 湖北大学计算机学院胡院长,学院召开新一届领导干部任命宣布大会
  8. numpy安装失败-小失误
  9. TeXworks 0.4.5 发布,TeX 编辑器
  10. JQuery系列(4) - AJAX方法
  11. Coursera自动驾驶课程第10讲:Feedforward Neural Networks
  12. Python 中@符号解释
  13. android视频录制(调用系统视频录制),生成缩略图
  14. for update在mysql中使用
  15. 最简单的RC振荡电路图大全
  16. 阿尔伯塔大学知名计算机工程学教授,阿尔伯塔大学计算机工程硕士解析
  17. 修一座安全的广厦,庇护赛博世界的流浪者
  18. 1977年图灵奖--约翰·巴克斯简介
  19. python爬虫 - 代理ip正确使用方法
  20. 圆角装饰条_护角条是圆角好还是直角好

热门文章

  1. Crystal (晶振)参数确定方法
  2. 异步电机(感应电机)模型预测电流控制仿真模型,框架为双闭环矢量控制,电流环为模型预测电流控制器
  3. pinyin4j支持简拼和多音
  4. mysql索引的命中率
  5. Python 彩色图转换成素描图(灰度图)
  6. 计算机文件恢复快捷键,电脑快捷键删除的文件怎么找回
  7. 图解LeetCode——1422. 分割字符串的最大得分(难度:简单)
  8. PD协议芯片,快充协议芯片RK837
  9. 微型四轴飞行器(4)通讯设计
  10. php网站手机打开排版,手机上也可以轻松做出杂志般的精美排版