【问题标题】:Family Tree in javajava中的家谱
【发布时间】:2018-09-06 10:59:30
【问题描述】:

我需要创建一个可以在java中创建家谱的java程序。程序读取以下格式的输入文件:

A is father of B
B is father of C
A is father of D
:
:

我需要做的是创建一个家谱或任何看起来合乎逻辑的东西。然后 JUnit 测试将在我的程序上运行,要求返回 true 或 false,例如: B是A的孩子,A是E的祖先......

另外,我需要从左到右遍历树,并显示如下层次结构: A B C .....

虽然我是 Java 新手,但我已经想到了一些逻辑。我创建了一个 Person 类,它包含以下元素:姓名、人物类型的左侧和人物类型的右侧:

class Person {

    String name;
    Person left;
    Person right;
}

此外,我还添加了 getter、setter 和构造函数。

然后我读取文件并创建一个人为:

BufferedReader br = new BufferedReader(new FileReader(new File(path)));
String names[] = br.readLine().split(" ");
Person p = new Person(names[0]);
p.setLeft(new Person(names[4]));

在这个阶段我完全糊涂了,希望得到一些指导。 提前感谢

【问题讨论】:

  • 对不起,这不是 StackOverflow 的工作方式。请拨打tour、访问help center 并阅读How to Ask 以了解如何有效使用本网站。 StackOverflow 不是一个教程网站。我们不能从几行代码开始,解释如何完成一项相当复杂的任务。没有捷径可走,这将是大量的工作,这里没有人会为你写。您需要解决的问题包括数据输入、构建模型来表示结构、将模型存储在持久存储(数据库)中、显示数据(图形)等等。
  • 如果您正在尝试构建类似于当前可用的家谱软件包之一的东西,您将面临数人年的工作。

标签: java tree binary-search-tree


【解决方案1】:

代替左右,更好用 List< Person > children, 对这个问题使用二叉树是没有意义的。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2017-07-26
    • 2023-03-08
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 2016-03-17
    • 2016-11-06
    • 1970-01-01
    相关资源
    最近更新 更多