Added the Entrys for the Days 1 - 7

This commit is contained in:
Jona Krampe
2022-12-20 07:35:29 +00:00
parent f41d001d33
commit cfeab93722
43 changed files with 9229 additions and 0 deletions
@@ -0,0 +1,88 @@
import java.util.ArrayList;
public class Directory {
private ArrayList<File> files;
private ArrayList<Directory> directories;
private Directory outerDirectory;
private String name;
public Directory(String name, Directory outerDirectory) {
files = new ArrayList<File>();
directories = new ArrayList<Directory>();
this.outerDirectory = outerDirectory;
this.name = name;
}
public Directory outerDirectory() {
return outerDirectory;
}
public void addElement(Object element) {
if (element instanceof File) {
files.add((File) element);
}
else if (element instanceof Directory) {
directories.add((Directory) element);
}
}
public int size() {
int sum = 0;
for (File file : files) {
sum += file.size();
}
for (Directory directive : directories) {
sum += directive.size();
}
return sum;
}
public String name() {
return name;
}
public Directory getInnerDirectory(String name) {
for (Directory directory : directories) {
if (directory.name().equals(name))
return directory;
}
return null;
}
public ArrayList<Directory> getAllInnerDirectories() {
return directories;
}
public ArrayList<Directory> getAllFolders() {
ArrayList<Directory> folderList = new ArrayList<Directory>();
folderList.addAll(directories);
for (Directory e : directories)
folderList.addAll(e.getAllFolders());
return folderList;
}
public int countSum(int maximum) {
int sum = 0;
for (Directory directive : this.getAllFolders()) {
if (directive.size() <= maximum)
sum += directive.countSum(maximum);
}
return sum;
}
public void print() {
for (Directory directive : directories) {
System.out.println(directive.size());
}
}
}