如何缩短此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代码? /*此程序按顺序从 他们的第一个字母顺序*/ 包装名称订单; 公共类名称顺序{ 公共静态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

I使用了Collections.List,请在此处列出,以便您的代码更加动态,允许任何 要订购的字符串数量。对于您的,您硬编码将输入3个字符串。在这里,您可以在主函数中输入任意数量的字符串

Collections.Sort方法将以最有效的方式对列表进行排序。只要有可能,就使用Java公司的方法,因为他们花了多年时间优化这些函数

/* 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));
}