if文はこう書く
//Check and see if current is less than the next character.
if (node.thisChar().charAt(0) < current.thisChar().charAt(0) )
{
temp = current;
previous = node;
node.next = current;
System.out.println("Its in here");
break;
}// end if
previous = current;
current = current.next;
//what was empty at the end of the list now has a new node being linked.
System.out.println(current.thisChar().charAt(0) + " This is the current");
System.out.println(node.thisChar().charAt(0) + " This is the new character");
System.out.println("Character " + node.thisChar() + " has been added");
問題は、ハイライトされた if ステートメントにあります。たとえば、ノードの文字'd'
が現在の文字よりも小さい場合'f'
、if ステートメントはスキップされ、並べ替えられていないリストになります。if ステートメント内に配置された出力に到達することはありません。奇妙なのは、私の出力がどのように文字を表示するかということですthisChar().CharAt()
(thisChar
単に文字を返します, そしてそれはタイプString
です ) ; ステートメントが機能していたことを示しています。問題が変数のタイプString
にある場合を除き、if ステートメントで何が起こっているのかわかりません。アドバイスをいただければ幸いです。