Dictionary というクラスに、txt ファイルの内容を 1 行ずつ Java で再帰的に読み取り、各行をノードとしてツリーに追加するメソッドを作成する必要があります。ファイルの内容のサンプルを次に示します。
ourselves
out
over
own
same
shan't
she
all
am
a
about
above
after
again
against
aren't
should
shouldn't
so
some
such
than
that
that's
the
their
その長さの4倍以上続きます。既にバイナリ ツリーをセットアップしており、次のメソッドが含まれています。
getKey() //returns the value of the current node
setKey() //sets the value of the current node
getLeftChild() //gets the value of the left child of the node inside the parentheses
getRightChild() //does the same as the above, but with the right child
setLeftChild(BinaryTreeNode node) //sets the left child
setRightChild(BinaryTreeNode node) //sets the right child
最終的に、ツリーは、txt ファイルからのテキストの個々の行をツリー内の個々のノードとして持つことになっています。私は再帰で多くの問題を抱えており、プログラムにファイルの内容を適切に読み取らせる方法がわかりません。提案や助けをいただければ幸いです。
それが役立つ場合、これは私がこれまでに持っている壊れた、1/4の完了した方法です:
public Dictionary(String filePath) throws IOException{ // the file path in my system for
//dictionary.txt
//I read from this file and build my tree.
BufferedReader br = new
BufferedReader(new FileReader("Dictionary.txt"));
String word;
if ((word = br.readLine()) == null)
System.out.println("Your tree is empty.");
while ((word = br.readLine()) != null) {
//now I need to tell it to add word as a node.
}
br.close();
}
- -編集 - -
ツリーの設定方法に関するその他の要件はありません。Dictionary.txt ファイルの個々のテキスト行は、単純に個々のノードでなければなりません。つまり、「自分自身」と「アウト」は別のノードである必要があります。