首页 > 题库 > 职业考证 > 软考 > 程序员 > 案例题

阅读以下说明和Java代码,填写代码中的空缺,将解答写入答题纸的对应栏内。
【说明】
某系统需根据类别和内容对数据以文件夹的方式进行组织,数据自身以文件的形式存储,文件夹可以包含文件夹和文件。为该系统设计的相关类及其关系如图5-1所示。

【Java代码】
import java.util.ArrayList;
import java.util.List;
abstract class Node {
    protected string name; l/文件或文件夹名称
    public void printName ( ) { System.out.println (name) ; }
    public abstract boolean add (Node node);                    //为一个文件夹增加子文件夹或文件
    public abstract boolean remove(Node node);              //删除一个文件夹的子文件夹或文件
    public abstract List<Node> getchildren( );                   //获得一个文件夹的子文件夹或文件
}
class File(1)Node {
    public File (string name) { (2) = name; }
    public boolean add (Node node) { return false; }
    public boolean remove (Node node){ return false; }
    public List<Node> getChildren () { return(3); }
}
class Folder (4) Node {
    private List <Node> children;
    public Folder (string name) {
        this.name = name;
        this.children = new ArrayList<Node> ( ) ;
}
    public boolean add (Node node){ return children.add (node); }
    public boolean remove (Node node) { return children.remove (node);}

    public List<Node>getChildren () { return(5);
}
public class client {
    private void traverse (Node node) {
        node. printName ( );
        List <Node> children =(6);
        if(children == null) return ;
        for (Node child : children) {
            traverse (child) ;
        }
    }
    public void createTree ( )  {          //构造一个树形文件夹和文件结构
        Node root = new Folder ( "D:/ ") ;
        Node folder = new Folder ( "parent" ) ;
        Node child = new Folder ( "cxy" ) ;
        Node file = new File ( "TestFile.java" ) ;
        root.add ( folder) ;
        folder.add ( child) ;
        child.add (file) ;
        traverse (root) ;                    //遍历目录文件树
    }
    public static void main (string [ ] args){
        Client client = new Client () ;
        client.createTree () ;
    }
}


参考答案: 查看答案 查看解析 查看视频解析 下载APP畅快刷题

相关知识点试题

相关试卷