0

Java で静的フォルダー階層を表示する必要があります。既にフォルダー クラスが定義されており、同じものを使用する必要があります。Fileクラスの使用は許可されていません!クラスフォルダーは次のとおりです。

class Folder
{
    boolean isFile;
    String folderName;
    List<Folder> subFolders;
}

私が使用しようとしているコードは次のとおりです。

class LisF
{
    public static void main(String args[])
    {
        Folder a=new Folder("C:/hello");
        Folder b=new Folder("C:/one");
        Folder c=new Folder("C:/two");
        a.subFolders.add(b);
        b.subFolders.add(c);
        Iterator itr = a.subFolders.iterator();
        Iterator itr1= b.subFolders.iterator();

        while(itr.hasNext()) {
            Object element = itr.next();
            //System.out.print("The list is "+(Folder)element.putFName());
            System.out.println("The lis is "+element);
        }

    }

}

実行され、Folder@1234 として出力されます。これは、間違いなくオブジェクトの名前を示します。しかし、渡された文字列の名前が必要です。つまり、helloのサブフォルダーを表示するには、1つを表示し、1つのサブフォルダーは2つを表示する必要があります! しかし、代わりにオブジェクト名を取得しています!!!!

4

1 に答える 1

0

オブジェクトをstoStringとして出力する必要がある/必要なクラスにメソッドを実装する必要があります。Stringこの場合、Folderクラスに実装する必要があります。

class Folder {

    //class definition...

    @Override
    public String toString() {
        //implementation sample
        return this.folderName;
    }
}
于 2012-11-29T06:14:14.103 に答える