-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

可能であれば、プライベートで最終的なものにすることをお勧めします。また、f C 表記の代わりに Java 配列表記を使用します。

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

また、フィールドのスコープを、それが存在する場所 (つまり、作成、使用、および破棄) に制限することも最善です。つまり、1 つのメソッドでのみ使用されるため、そこで定義できます。

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 に答える
1

配列を完全に宣言し、内部に項目を含める場合は、中かっこを使用します。

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