=运算符抛出异常

时间:2012-05-07 20:44:05

标签: java sorting

我是一个非常新手的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 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:4)

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

答案 2 :(得分:1)

当声明一个数组时,如果里面有项目,你可以使用大括号。

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

答案 3 :(得分: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));
}