我需要创建一个可以在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类,它有元素:Name,Left of Person类型和Right of person type:
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]));
我在这个阶段完全感到困惑,并会受益于一些指导。 谢谢你的推荐
答案 0 :(得分:0)
而不是左右,更好地使用
List< Person > children
,
使用二叉树来解决这个问题毫无意义。