如何缩短此Java代码? /*此程序按顺序从 他们的第一个字母顺序*/ 包装名称订单; 公共类名称顺序{ 公共静态void sayName(字符串a、字符串s、字符串d){ System.out.println(“按字母顺序排列的名称:\n1.+a+”\n“+”2.+s+“\n3.+d+”\n”); } 公共静态无效字符串顺序(字符串a、字符串s、字符串d){ int i=a.与之相比; int j=a.与(d)相比; int k=d.与之比较; int l=d。与(a)相比; 字符串优先=”; 字符串秒=”; 第三个字符串=”; if(i0){ 第三=d; 秒=秒; }否则{ 秒=d; 第三个=s; } }否则如果(i>0&&j>0){ 第三=a; 如果(k
I使用了Collections.List,请在此处列出,以便您的代码更加动态,允许任何 要订购的字符串数量。对于您的,您硬编码将输入3个字符串。在这里,您可以在主函数中输入任意数量的字符串 Collections.Sort方法将以最有效的方式对列表进行排序。只要有可能,就使用Java公司的方法,因为他们花了多年时间优化这些函数如何缩短此Java代码? /*此程序按顺序从 他们的第一个字母顺序*/ 包装名称订单; 公共类名称顺序{ 公共静态void sayName(字符串a、字符串s、字符串d){ System.out.println(“按字母顺序排列的名称:\n1.+a+”\n“+”2.+s+“\n3.+d+”\n”); } 公共静态无效字符串顺序(字符串a、字符串s、字符串d){ int i=a.与之相比; int j=a.与(d)相比; int k=d.与之比较; int l=d。与(a)相比; 字符串优先=”; 字符串秒=”; 第三个字符串=”; if(i0){ 第三=d; 秒=秒; }否则{ 秒=d; 第三个=s; } }否则如果(i>0&&j>0){ 第三=a; 如果(k,java,Java,I使用了Collections.List,请在此处列出,以便您的代码更加动态,允许任何 要订购的字符串数量。对于您的,您硬编码将输入3个字符串。在这里,您可以在主函数中输入任意数量的字符串 Collections.Sort方法将以最有效的方式对列表进行排序。只要有可能,就使用Java公司的方法,因为他们花了多年时间优化这些函数 /* This program sorts out name in orders from their first alphabetical orders .*/ pa
/* This program sorts out name in orders from
their first alphabetical orders .*/
package nameorder;
public class NameOrder {
public static void sayName(String a, String s, String d){
System.out.println("Name By Alphabetical Order: \n1."+a+"\n"+"2."+s+"\n3."+d+"\n");
}
public static void stringOrder(String a ,String s ,String d){
int i= a.compareTo(s) ;
int j= a.compareTo(d) ;
int k= d.compareTo(s) ;
int l= d.compareTo(a) ;
String first="";
String second="";
String third="";
if(i<0&&j<0){
first=a;
if(k>0&&l>0){
third = d;
second = s;
}else{
second = d;
third = s;
}
}else if(i>0&&j>0){
third=a;
if(k<0&&l<0){
first = d;
second = s;
}else{
second = s;
first = d;
}
}else{
second=a;
if(k<0&&l<0){
first = d;
third = s;
}else{
first = s;
third = d;
}
}
sayName(first,second,third);
}
public static void main(String[] args) {
String a ="C";
String s ="a";
String d ="h";
stringOrder(a.toUpperCase(),s.toUpperCase(),d.toUpperCase());
}
}
publicstaticvoidmain(字符串[]args){
//创建一个集合来存储字符串
列表=新的ArrayList();
//将字符串添加到集合中
列表。添加(“C”);
列表。添加(“A”);
列表。添加(“H”);
//使用集合库按字符串的大小对字符串进行排序
//定义顺序
集合。排序(列表);
//打印有序字符串
System.out.println(“按字母顺序排列的名称:”);
用于(字符串:列表){
System.out.println(字符串);
}
}
仅从“排序三个字符串”的角度来看,您可能只需要进行三次比较,然后丢失所有临时变量
public static void main(String[] args){
// Create a collection to store the strings in
List<String> list = new ArrayList<String>();
// Add the strings to the Collection
list.add("C");
list.add("A");
list.add("H");
// Use the Collections library to sort the strings for you, by their
// defined ordering
Collections.sort(list);
// Print the ordered strings
System.out.println("Names By Alphabetical Order: ");
for(String string: list){
System.out.println(string);
}
}
但从可维护性的角度来看,只需使用Java内置的工具一次对多个字符串进行排序:
public static void stringOrder(String a, String s, String d) {
String tmp;
if (a.compareTo(s) > 0) {
tmp = a;
a = s;
s = tmp;
}
if (a.compareTo(d) > 0) {
tmp = a;
a = d;
d = tmp;
}
if (s.compareTo(d) > 0) {
tmp = s;
s = d;
d = tmp;
}
sayName(a, s, d);
}
publicstaticvoidstringorder(字符串a、字符串s、字符串d){
字符串[]arr={a,s,d};
java.util.ArrayList list=新的ArrayList(Arrays.asList(arr));
java.util.Collections.sort(列表);
sayName(list.get(0)、list.get(1)、list.get(2));
}
,这更像是一个代码审查请求,这在这里是离题的。这可能有助于我在那里之前还没有学到东西,但它让我清楚地了解了我在进一步学习中的期望。谢谢
public static void stringOrder(String a, String s, String d) {
String [] arr = {a, s, d};
java.util.ArrayList<String> list = new ArrayList<String>(Arrays.asList(arr));
java.util.Collections.sort(list);
sayName(list.get(0), list.get(1), list.get(2));
}