-1

我是一个非常新手的 Java 程序员。我正在尝试使用 compareTo 函数对字符串数组进行排序。但是在我的代码中,“=”运算符导致代码出现问题。有人可以帮我吗?谢谢

public class StringSort 
{
    static String arr[]= ("Now","My","There","When");
        public static void main(String[] args) 
    {

        for(int i=0;i<arr.length;i++)
        {
            for(int j=0;j<arr.length;j++)
            {
                if(arr[i].compareTo(arr[j])<0)
                {
                    String t=arr[j];
                    arr[j]=arr[i];
                    arr[i]=t;
                }
            }
        }
    }

}
4

4 回答 4

11

在数组初始值设定项周围使用大括号而不是括号。

 static String arr[]= {"Now","My","There","When"};
于 2012-05-07T20:45:15.327 回答
4

static String arr[]= new String[]{"Now","My","There","When"};

于 2012-05-07T20:46:04.453 回答
1

当直接声明一个包含项目的数组时,您使用花括号。

static String arr[]= {"Now","My","There","When"};
于 2012-05-07T20:46:03.603 回答
1

如果可以,最好将其设为私有和最终版本。也使用 Java 数组表示法代替 f C 表示法。

private final static String[] arr = {"Now","My","There","When"};

最好将字段的范围限制在它所在的位置(即创建、使用和丢弃)。即它仅用于一种方法,因此您可以在那里定义它。

public static void main(String[] args) {
    String[] arr = "Now,My,There,When".split(",");
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr));
}
于 2012-05-07T21:06:43.617 回答