[Java]努力按字母顺序排列字符串

[Java]努力按字母顺序排列字符串,java,string,void,Java,String,Void,我正在尝试创建一个void方法,它使用3个字符串参数并按字母顺序排列字符串。到目前为止,我已经使用了if语句,我相信if语句是正确的,但是我一直收到一条消息说“void不能转换为string” 我假设使用一个void方法,我很困惑这是我的代码 public class AlphabeticalOrder { public static void inOrder(String s1, String s2, String s3) { if (s1.compareTo(s2)

我正在尝试创建一个void方法,它使用3个字符串参数并按字母顺序排列字符串。到目前为止,我已经使用了if语句,我相信if语句是正确的,但是我一直收到一条消息说“void不能转换为string” 我假设使用一个void方法,我很困惑这是我的代码

public class AlphabeticalOrder {

    public static void inOrder(String s1, String s2, String s3) {
        if (s1.compareTo(s2) < 0 && s1.compareTo(s3) < 0)
            if (s2.compareTo(s3) < 0)
                System.out.println(s1 + s2 + s3);
            else
                System.out.println(s1 + s2 + s3);
        else if (s2.compareTo(s1) < 0 && s2.compareTo(s3) < 0)
            if (s1.compareTo(s3) < 0)
                System.out.println(s2 + s1 + s3);
            else
                System.out.println(s2 + s3 + s1);
        else if (s3.compareTo(s1) < 0 && s3.compareTo(s2) < 0)
            if (s2.compareTo(s1) < 0)
                System.out.println(s3 + s2 + s1);
            else
                System.out.println(s3 + s1 + s2);
    }

    public static void main(String[] args) {
        String ans1 = inOrder("abc", "mno", "xyz");
        System.out.println(ans1);
    }
}
公共类字母顺序{
公共静态void顺序(字符串s1、字符串s2、字符串s3){
if(s1.比较到(s2)<0和&s1.比较到(s3)<0)
如果(s2.与(s3)相比<0)
系统输出打印LN(s1+s2+s3);
其他的
系统输出打印LN(s1+s2+s3);
如果(s2.比较到(s1)<0和&s2.比较到(s3)<0)
如果(s1.与(s3)相比<0)
系统输出打印LN(s2+s1+s3);
其他的
系统输出打印LN(s2+s3+s1);
else if(s3.比较到(s1)<0和&s3.比较到(s2)<0)
if(s2.与(s1)<0相比)
系统输出打印LN(s3+s2+s1);
其他的
系统输出打印LN(s3+s1+s2);
}
公共静态void main(字符串[]args){
字符串ans1=顺序(“abc”、“mno”、“xyz”);
系统输出打印LN(ans1);
}
}

将主要方法更改为:

public static void main(String[] args)
{
    inOrder("abc", "mno", "xyz");
}
函数返回“void”,意思是“nothing”,因此不能将其赋值给变量或打印它


更好的方法是让方法返回一个
字符串[]
,但是如果您的赋值是返回
void
,那么这就是最好的方法了

将主要方法更改为:

public static void main(String[] args)
{
    inOrder("abc", "mno", "xyz");
}
函数返回“void”,意思是“nothing”,因此不能将其赋值给变量或打印它


更好的方法是让方法返回一个
字符串[]
,但是如果您的赋值是返回
void
,那么这就是最好的方法了

除了JoshuaD的回答之外,我建议您使用更方便的方式来排序


除了JoshuaD的回答之外,我建议您使用更方便的方式来排序


我试图将字符串打印为abcmnoxyz,但代码不会运行您的
inoorder
方法是
void
-它打印自身内部的所有内容-因此它无法将任何内容返回到main方法中的
ans1
。我试图将字符串打印为abcmnoxyz,但代码不会运行您的
inoorder
方法is
void
-它打印自身内部的所有内容-因此它不能在main方法中将任何内容返回到
ans1
。@Rengoku还记得如果答案解决了你的问题你该怎么做吗?@Rengoku还记得如果答案解决了你的问题你该怎么做吗?