开发亲友计算器逻辑思考过程

    由于业务需求,需要实现亲友计算的功能.

1 . 直接采用匹配的方式.

看到需求时,首先想到去网上查找了下,有没有类似的demo.由于我是Android开发,没有找到相对应源码,然后就考虑自己动手写.我在Github上找到了使用js实现的demo,简单的了解了下实现原理:拿到需要计算的数值,做出相对应的组合,例如:哥哥的哥哥,直接变成哥哥.然后把组合的结果,直接去匹配自己写的表达式, 例如:爸爸的儿子的爸爸的爸爸  会直接组合成  爸爸的爸爸  然后去匹配 爸爸的爸爸是爷爷  这样的方式.然后得出结果.但是这种组合方式至少有几千种,而且性能很差.我要自己动手写,显然很啰嗦,麻烦.      

2 . �分布计算

对于这种关系处理首先我想到的是采用两种组合计算的方式,就是一步一步计算过去.  例如  爸爸的哥哥的儿子的妻子   我先计算爸爸的哥哥得出大伯,大伯的儿子得出堂哥或者堂弟然后妻子为堂嫂,堂弟媳.但是不能使用文字来匹配,不然太庞大了,想着对于每一个人都要一个数字来对应,就是我代表0,爸爸代表1,妈妈代表2... 把所有的�亲戚关系都以一个数字来代替,我还很聪明的把男的用作单数,他的妻子用着双数,这样对于一个人的妻子或者丈夫就直接可以使用+1,-1来计算了.当然这些只是思路,按照这个逻辑关系继续思考的话,会发现并不比第一种方式容易.因为每一个关系都有几种计算方式,对于每个代表的数值都需要进行几种计算,就是对于1(爸爸),我需要算出他的兄弟姐妹,父母,子女和自己的关系,2(妈妈)一样还是要把所有的情况列举出来.繁琐程度不亚于第一种情况,而且还会有很多不健全的地方,例如 爸爸的儿子的妻子    答案有三个  嫂子,弟媳,老婆.  如果在远一点 爸爸的爸爸的儿子的儿子的老婆  则有 嫂子,弟媳,老婆,堂嫂,堂弟媳.这种方式完全不能实现.

3.直接计算.

爷爷的孙媳妇有嫂子,弟媳,老婆,堂嫂,堂弟媳 ,爸爸的儿媳有嫂子,弟媳,老婆 ,看到这里时,突然一个新的思路出现了,对于一个人或者说一个身份来说,他的后代的叫法都是一致的,我哥哥的下一代一定是我的侄辈,男的是侄子,女的是侄女.我姐姐的是儿子是外甥,女儿是外甥女.我大伯的儿子一定是我的堂哥或者堂弟,你要计算某个人和你的关系,你就必须要和他有关系,和你有关系的只有父母,�子女,丈夫,妻子.而你的爷爷,或者大伯,舅舅是因为和你的父辈有关系才和你连接上的.所以你们一定有一条线连接起来,这样我只要知道,这条线的最高点,需要计算的这个人和我两直接的差距就可以了.线的最高点是什么意思了,举个例子:  爸爸的哥哥的儿子  最高点就是爸爸的哥哥也就是大伯,  爸爸的爸爸的儿子  最高点就是爸爸的爸爸也就是爷爷  也就是需要计算的那个辈分最高的人,而我们的差距就是你�是什么辈分  ,我把自己一辈定义为0代, 爸爸 , 妈妈,大伯,舅舅...定义为1代,爷爷2代,儿子,侄子,堂侄-1代...  爸爸的兄弟的儿子  最高点爸爸的哥哥就是大伯 ,他的儿子0代,和我同代,那肯定就是堂哥,堂弟了    爸爸的爸爸的儿子 最高点是爷爷  他的儿子辈分是1辈 就是你父辈,那就只要爸爸,叔叔,大伯.  只要定义两个变量,一个来记录当前人的辈分,出现父母就+1,儿女就-1,另外一个变量来记录最高点,结果就是根据最高点然后计算他的后辈就行了.需要注意的是,在计算前,需要对值先进行整合,  就是哥哥的哥哥 直接整合成哥哥   xxx的儿子的爸爸一定是xxx(xxx是男性)或者xxx的老公(xxx是女性)....,需要把所有的诱惑,或者这种不必要的给整合起来.  计算时,要注意除了你的配偶或者你的�直系亲属的兄弟姐妹和你有关系,其他人的配偶的兄弟姐妹和你都没关系  ,就像你大嫂的兄弟姐妹和你没有关系,需要做好这方面的判断.  还有爷爷的孙辈一定是你父亲的子辈和�父亲兄弟的子辈.      还需要注意出现最高点是爷爷,这个人和你同辈,但是可能是你爷爷的儿子后辈,也可能是你爷爷女儿的后辈.把这些处理好了,也就差不多了,

写的有点简单,只是个逻辑思考过程.就是一个思路而已.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容

  • 趁着读书日,把这两个月读的书写的读书笔记整理下。 借书有个习惯:喜欢借两本,一本名著一本没听说过的。所以,Smal...
    学生王二阅读 2,217评论 0 0
  • 知识,生命阅历,在获得的途中,总有一段浩瀚中迷茫,激动中不平静的过程,世事有度。年少时,这种轻狂岁月是美的...
    7feer阅读 235评论 0 1