これは、中級 Java クラスの課題の質問です。組み込みの add メソッドを使用せずに、リンクされたリストを使用して「辞書」を作成することになっています。ノードをアルファベット順に追加するのに苦労しています。各ノードをリストに追加または追加するだけで問題はありませんが、それは質問が求めているものではありません。このプログラムは、アルファベットの昇順と降順の両方で単語 (およびその意味) のリストを表示できるはずです (2 つの別個の JOptionPane メニュー オプション)。その証明は...難しいです。これが私の追加方法です:
void add(WordMeaning wm)
{
WordMeaningNode word = new WordMeaningNode(wm);
WordMeaningNode current, prev;
try
{
if(wmn == null)
{
wmn = word;
}
else
{
current = wmn;
prev = null;
while(current.next != null)
{
prev = current;
current = current.next;
}
if(word.wm.getWord().compareToIgnoreCase(current.wm.getWord()) < 0)
{
word.next = current.next;
current.next = word;
}
else if(word.wm.getWord().compareToIgnoreCase(current.wm.getWord()) > 0)
{
prev = current;
current.next = word;
}
}
}
catch(NullPointerException e)
{
e.printStackTrace();
}
}
while ループの下の if ステートメントに問題があることは確かです。私はちょうど何を知らない。何が悪いのか、まだよくわかりません(笑)。最初に通常どおり追加するだけでよいのではないかと思っています。次に、それを取得してアルファベット順に並べ替えます。もしそうなら、どうすればいいですか?優しくしてください。;)