私は、(1)リンクされた単語リストを作成する必要があり、(2)各単語ごとに、その単語のアドレスを格納するための別のリンクリストこの場合は、検索エンジンのように想像することができます:特定のURLにキーワードが含まれています)。単語とアドレスをJavaで保存するための単独リンクリスト
私は出力がこのような何かになりたいpublic class SearchEngine {
WNode whead;
public void insert(String word, String url) {
WNode wnode = new WNode(word);
UNode unode = new UNode(url);
if (whead == null) {
whead = wnode;
wnode.mid = unode;
}
else {
WNode wtemp = whead;
while (wtemp.next != null && !wtemp.word.equals(wnode.word)) {
wtemp = wtemp.next;
}
if (wtemp.word.equals(wnode.word)) {
UNode utemp = wtemp.mid;
while (utemp.next != null) {
utemp = utemp.next;
}
utemp.next = unode;
wnode = null;
}
else {
wtemp.next = wnode;
wnode.mid = unode;
}
}
}
public String toString() {
WNode wordTemp = whead;
String str = "";
String str1 = "";
while (wordTemp != null) {
UNode urlTemp = wordTemp.mid;
while (urlTemp != null) {
str += urlTemp.url + " ";
urlTemp = urlTemp.next;
}
str1 += wordTemp.word + ": " + str + "\n";
wordTemp = wordTemp.next;
}
return str1;
}
public static void main(String[] args) {
SearchEngine engine = new SearchEngine();
engine.insert("A", "a.com");
engine.insert("A", "b.com");
engine.insert("B", "c.com");
System.out.println(engine);
}
}
class WNode {
String word;
UNode mid;
WNode next;
WNode(String word) {
this.word = word;
}
}
class UNode {
String url;
UNode next;
UNode(String url) {
this.url = url;
}
}
: のは、私は非常に最初の単語ノード(wnode)「A」を作成したとしましょう、それは史上初のことで(unodeに)「a.com」をのURL engine.insert("A", "a.com)
が、そうSystem.out.println(engine)
は私に出力与える必要があります:私はengine.insert("A", "b.com")
を行う場合は、新しいワードノードは、現在の単語ノード(S)とのリンクリストにリンクされてはならない、
A: a.com
次の「b.com」でなければなりませんAのURLのリンクリストにリンクされています。出力は次のようになります。しかし
A: a.com b.com
、私はengine.insert("B", "c.com")
をしようとすると、私が欲しいのは(Aさんである1つのワードのみのノード()がありますように)新しい単語ノードがリンクにリンクされなければならないということですワードノード(複数可)となりました。この言葉ノードの「中期」のリストには、ローカルURLノード(unode)参照変数に取り付けられており、出力は次のようになります。
A: a.com b.com
B: c.com
しかし、私はこれを実行すると、これが出力されます:
A: a.com b.com
B: a.com b.com c.com
私はここで何が間違っていますか?私の論理は大丈夫だと思います。これはtoString()
メソッドのためですか?私は真剣な助けが必要です。どんな助けでも大歓迎です。ありがとう!
私を助けてくれてありがとう。 –