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