使用递归搜索数组?

时间:2017-10-31 15:29:06

标签: java file recursion arraylist directory

有人知道如何使用递归来搜索其他数组中的对象数组吗? Carpetas =文件夹Archivos =文件Nombre =名称Tamaño=大小

编辑:为了清晰起见翻译了几首歌。

本练习的目的是在其他ArrayLists中创建ArrayLists,模拟真实文件夹和计算机中使用的文件。下面的代码是我到目前为止所做的。救命啊!

public class Carpetas {

private String nombre;
private int tamaño;
ArrayList <Carpetas> Crp;
ArrayList <Archivo> Arc;



public Carpetas(String nombre, int tamaño){
    this.nombre = nombre;
    this.tamaño = tamaño;
    Crp = null;
    Arc = null;
}

public ArrayList<Carpetas> getCrp() {
    return Crp;
}

public void setCrp(Carpetas nueva_carpeta) {
    if(Crp == null){
       Crp = new ArrayList<>(); 
       Crp.add(nueva_carpeta);
    }else{
       Crp.add(nueva_carpeta); 
    }
}

public ArrayList<Archivo> getArc() {
    return Arc;
}

public void setArc(Archivo nuevo_archivo ) {
    if(Arc == null)
    {
        Arc = new ArrayList<>();
        Arc.add(nuevo_archivo);
    }else
    {
        Arc.add(nuevo_archivo);
    }
}



public static void menu(int a){
    Scanner input = new Scanner(System.in);
    System.out.println("1 - Search folder: ");
    System.out.println("2 - Type in/Create Folder: ");
    System.out.println("3 - Type in/Create Files: ");
    System.out.println("Typ in the menu option: ");
    a = input.nextInt();
    switch(a){
        case 1:



            break;
    }
}

public String searchCarpeta(String nombre, int y){
    if(y == Crp.size()){
        return "File not found.";
    }
    if(nombre.equals(Crp.get(y).getNombre())){
        return Crp.get(y).getNombre();
    }
    else{
        return searchCarpeta(nombre, y++);
    }        
}

public void createCarpetas(String nombre, int y){
    if(nombre.equals(Crp.get(y).getNombre())){
        System.out.println("Folder already exists.");
        return;
    }
    else{
       Crp.add(new Carpetas(nombre, 0));
        System.out.println("Folder added successfully!");
    }

}

public void createArchivo(String nombre, String archivo, int y){

}


public String getNombre() {
    return nombre;
}

public int getTamaño() {
    return tamaño;
}

public void setTamaño(int tamaño) {
    this.tamaño = tamaño;
}




public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    Carpetas crp = null;

    System.out.println("Type the name of the file: ");
    String nombre = input.next();

    crp.Crp.add(new Carpetas(nombre, 0));

}

}

0 个答案:

没有答案