0

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 ステートメントで何が起こっているのかわかりません。アドバイスをいただければ幸いです。

4

1 に答える 1

0

メソッドとの比較を交互に行うことができます

string.compareTo(String)

String s1, s2;
//blabla
//giving string variables values
s1.compareTo(s2)

詳細については、このリンクを参照してください。

于 2013-06-23T23:21:02.487 に答える