どのように私はelse文場合にのみ使用してアルファベット順にすべての3つの可変値を注文することができますか?

リアム:

私はアルファベット順にすべての3つの可変値文字列値を注文することができますどのように他の文がない配列の場合は使用していますか?私は変数「W」の値を変更した場合そのため、仕事はまだでしょう。

全体的に、私は現時点で抱えている問題にもアルファベット順に変数に割り当てられた任意の文字列値を置くことができることです。誰も私を助けてくださいことができれば、私は不思議でしたか?

私が働いているもののために、私はそれらを使用することができないためではない配列である理由あなたが尋ねる包み。

以下のコードは、私が思っていたものを表します。

String w = "York";
String k = "Oxford";
String t = "Sam";

if ((w.compareTo(k) <= 0) && (k.compareTo(t) <= 0)) {
    System.out.println(k);
    System.out.println(w);
    System.out.println(t);
} else if ((w.compareTo(t) <= 0) && (k.compareTo(t) <= 0)) {
    System.out.println(k);
    System.out.println(w);
    System.out.println(t);
} else if ((t.compareTo(w) <= 0) && (w.compareTo(k) <= 0)) {
    System.out.println(t);
    System.out.println(w);
    System.out.println(k);
} else if ((t.compareTo(k) <= 0) && (k.compareTo(w) <= 0)) {
    System.out.println(w);
    System.out.println(t);
    System.out.println(k);
} else if ((k.compareTo(w) <= 0) && (w.compareTo(t) <= 0)) {
    System.out.println(w);
    System.out.println(k);
    System.out.println(t);
} else {
    System.out.println(k);
    System.out.println(t);
    System.out.println(w);
}

}
}
アンドレアス:

コードの量と比較コールの数を節約するために、私は親切挿入ソートなどでそれを行うだろう。

String w = "York";
String k = "Oxford";
String t = "Sam";

String s1, s2, s3;
// insert first 2 values in correct order
if (w.compareTo(k) <= 0) {
    s1 = w;
    s2 = k;
} else {
    s1 = k;
    s2 = w;
}
// insert 3rd value in correct place
if (s2.compareTo(t) <= 0) {
    s3 = t;
} else {
    s3 = s2;
    if (s1.compareTo(t) <= 0) {
        s2 = t;
    } else {
        s2 = s1;
        s1 = t;
    }
}

System.out.println(s1);
System.out.println(s2);
System.out.println(s3);

出力

Oxford
Sam
York

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=312691&siteId=1