-2

Javaのパッケージとサブパッケージをアルファベット順に印刷する必要があります。これは私がしました:

java.util.Arraysをインポートします。

public class J0602 {public static void main(String args []){

    Package[] packs = Package.getPackages();
    String[] packageNames =new String[packs.length];
    int i=0;
    for (Package pack:packs){
        packageNames[i] = pack.getName();
        System.out.println(pack.getName());
        i++;
    }
    Arrays.sort(packageNames);
}

}

..しかし、それは動作しません。パッケージについて私が見逃しているものはありますか?なぜArrays.sort(); ここでは動作しませんか?

前もって感謝します!

4

1 に答える 1

0

要素を印刷した後で配列を並べ替えていることが原因である可能性があります。

このようにコードを配置してみてください

Arrays.sort(packageNames);
for (Package pack:packs){
         System.out.println(pack.getName());
}

または、TreeSetに配列をダンプして、それを繰り返し処理することもできます。

TreeSet<Package> packages = new TreeSet<Package>(Arrays.asList(packageNames));

それから

for (Package pack:packages){
    System.out.println(pack.getName());
}

これにより、アレイから重複パッケージが削除されることに注意してください。

于 2013-02-18T12:48:19.603 に答える