gpt4 book ai didi

java - 如何仅使用 if else 语句按字母顺序排列任意三个变量值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:38 25 4
gpt4 key购买 nike

使用 if else 语句而不是数组如何按字母顺序排列任意三个变量值字符串值?因此,如果我更改“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

关于java - 如何仅使用 if else 语句按字母顺序排列任意三个变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58468541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com