0

Java で Arrays.sort を使用する方法について混乱しています。

私の Java コードでは、ディレクトリ内の上位 10 個のファイルを並べ替えようとしているので、Arrays.sort メソッドを使用します。

まず、ファイルの長さを保持する配列を作成します。

int[] sortedArray =  new int[11];

コードの後半で、数値を sortedArray にロードした後、これを行います..

Arrays.sort(sortedArray);

しかし、どういうわけか、それは好きではありません。次のエラーが表示されます。

TopTen.java:46: error: <identifier> expected
        Arrays.sort(sortedArray);

これが私のコードの残りの部分です

File dir = new File("C:\\Users\\Code\\Desktop\\Work\\Oracle_Training\\Java_training\\Java_Challenge_Disk_10_files");

for(File child : dir.listFiles()){
    System.out.print(child.getName() + " " + child.length() + " , ");   
    //puting into sortedArrya
    for (int i = 0; i<11; i++){ 
        sortedArray[i] = (int)child.length();
        continue;
    }
}

int[] array = new int[10];

Random rand = new Random();
for (int i = 0; i < array.length; i++)
    array[i] = rand.nextInt(100) + 1;
System.out.println(Arrays.toString(array));

}

Arrays.sort(sortedArray);

Arrays.sortは正しく使用していますか? ありがとうございました

4

1 に答える 1

5

正しく呼び出していますが、2 番目のループArrays.sort()の開始後に左中かっこを忘れています。forつまり、最後の for ループを次のように変更します。

for (int i = 0; i < array.length; i++) {
    array[i] = rand.nextInt(100) + 1;
    System.out.println(Arrays.toString(array));
}

これが再び起こらないようにするには、ループ内にステートメントが 1 つしかない場合でもfor、中かっこを追加して削除しないようにする習慣を身に付けることができます。

于 2013-10-04T23:37:08.623 に答える