【发布时间】: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