- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在用 Java 创建一个家谱程序,或者至少正在尝试这样做。我开发了几个类:
我有两个主要问题:
1) 我需要设置人与人之间的关系。目前我在做:
FamilyMember A, FamilyMember B
B.setMother(A);
A.setChild(B);
上面的例子是设置母子关系。
这看起来很笨重。实现所有关系变得非常冗长。关于如何以较少程序化的方式实现多重关系的任何想法?
2) 我必须能够显示家谱。我怎样才能做到这一点?是否有任何自定义类(class)可以让生活更轻松?
感谢您的宝贵时间...
最佳答案
关于画结构,如果显示超过2代,难免会出现碰撞(线交叉)。因此,如果您的应用程序允许您将其减少到两个,那就太好了。我已经编写了许多使用这种表示的程序,无论是垂直的:
或横向:
如果您需要一次显示更多世代,则需要想出其他表示法,并且它们可能会开始变得非常稀疏,这样您就可以在同一级别显示同一世代中的每个人。
关于如何将关系表示为数据结构 - 好吧,它很困惑。最简单、最干净的是,任何两个分别是同一个人的母亲和父亲的人都是“结婚的”。但是你想如何代表多个合作伙伴、继子女等?如果不进一步了解您的程序应该做什么,就很难回答这个问题。也许您的数据集没有这些并发症。但是,如果确实如此,最好首先考虑棘手的情况 - 简单的表示不适合轻松扩展以涵盖困难的情况。
(用手)画出您预计的一些最困难的案例;这将建议您需要记录什么样的数据,以及如何组织这些数据。您在绘制时所做的选择(谁先出现,在每个节点使用什么符号和文本等)将为您的数据结构决策提供信息。
同时设置 B 的母亲和 A 的 child 似乎是多余的 - 冗余会导致错误 - 选择一个。哪一个?嗯,当你设置 B 的母亲(A 的性别)时会有更多信息,我们知道任何人都需要恰好有两个 parent ,而不是 0 个或更多的 child 。所以我倾向于 just 设置 B 的母亲;您总是可以通过遍历所有对象来找出任何人的 child ,以找出其 parent 等于所讨论的个人的集合。并且实际存储母亲和父亲关系(相对于简单的 parent 关系)可能会减少重复(假设您正在存储个人的性别)。
关于java - 家谱程序的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4534988/
我做到了,但它没有显示答案 当我询问兄弟,姐妹,叔叔,阿姨时 这是我写的,有什么问题吗? /*uncle(X, Y) :– male(X), sibling(X, Z), parent(Z, Y).*
我即将参加考试,需要有关家谱的考试问题的帮助。我以前做过树,但只有这种格式: 数据树 a = 空 |叶一个 |节点a(树a)(树a) 基本上,一棵树要么是空节点,要么是叶节点,或者是一个有两棵树递归跟
有没有办法让子元素跟随其父元素? 问题是,如果只有一个子节点,而父节点有一大段文本,连接器的位置就会变得非常糟糕。我该如何解决? Fiddle demo * {margin: 0; padding:
我正在尝试存储家谱。这是我使用的平台,Zend framework, Mysql, Ajax我搜索了 stackoverflow 我遇到了这篇文章,它对处理对象方面的数据非常有帮助。 "Family
家谱中家谱的算法是怎么做的? 例如 parent A有一个 child B和C。那么,如果 child C将来也生了一个 child 怎么办。它如何使用数据库添加到树中? 我看过 Jit 的 RGra
我对这个任务一无所知。我需要像这样制作家谱 但我无法解决 Main.java 中的 child 问题。对于每个名字,我都必须给 child 写 null 。 这是我的代码:Main.java 。第二个
我使用 CSS 创建了一个家谱。 家谱可以正常工作,但问题是如果一行中的列表太多,它会在行的右端断开该行,并在新行上显示。 如何在不破坏子元素的情况下使这个家谱水平延伸?即使我在页面底部没有水平滚动条
它来 self 的家庭作业。有家谱 a + b / | | \
正如您在下面的代码片段中所看到的,家谱显示得不是很好。那是因为容器不够宽,装不下它。我想通过向容器添加滚动条来解决这个问题,但不幸的是,这不起作用。我在列表中尝试了 nowrap,但无济于事。我有什么
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,
我正在尝试用 PHP 做一个传销项目。现在我陷入了 MLM 的二叉树表示。请帮我实现这棵树。 sample tree structre .请帮我在附加图片上构建一个树状结构。 Sample tree
需要帮助!是否可以将此网络树居中 http://bvusolutions.com/tree2.html加载页面后?我还想将它放在 960px 宽度的 div 中,以避免滚动并具有缩放功能。 每次我添加
我是一名优秀的程序员,十分优秀!