Hallo, ich habe eine Aufgabe bekommen, die gegebene Klasse System zum Laufen zu bringen.
Dabei darf ich in ihr nichts verändern, aber verschiedene Klassen hinzufügen.
Die Ausgabe soll:
/home/max/homework
/home/peter/homework
/home/peter
/home/max
sein.
Mein Problem ist, dass ich in meiner Directory-Klasse eine static-Variable erstellt habe, ich denke mal, dass das programmierstiltechnisch
nicht feinste Sahne ist, und, dass die letzten beiden Zeilen meiner Ausgabe dadurch am Ende auch noch ein "/" haben, jedoch finde ich keine Lösung, um
das Problem zu beheben.
Hat jemand einen Tipp für mich ?
LG
Mein bisheriger Code:
Dabei darf ich in ihr nichts verändern, aber verschiedene Klassen hinzufügen.
Die Ausgabe soll:
/home/max/homework
/home/peter/homework
/home/peter
/home/max
sein.
Mein Problem ist, dass ich in meiner Directory-Klasse eine static-Variable erstellt habe, ich denke mal, dass das programmierstiltechnisch
nicht feinste Sahne ist, und, dass die letzten beiden Zeilen meiner Ausgabe dadurch am Ende auch noch ein "/" haben, jedoch finde ich keine Lösung, um
das Problem zu beheben.
Hat jemand einen Tipp für mich ?
LG
Mein bisheriger Code:
Java:
class System {
public static void main(String[] args) {
Directory root = new Directory("/");
Directory home = new Directory(root, "home");
Directory max = new Directory(home, "max");
Node homework = new File(tom, "homework");
Directory peter = new Directory(home, "peter");
Node homework2 = new File(bob, "homework");
Node maxNode = max;
Out.println(homework.getPath());
Out.println(homework2.getPath());
Out.println(peter.getPath());
Out.println(maxNode.getPath());
}
}
Java:
class Node {
String path;
String getPath () {
return path;
}
}
class File extends Node {
File (Node obj, String path) {
this.path = obj.path + path;
}
}
class Directory extends Node {
static String a;
Directory(String path) {
this.path = path;
a = path;
}
Directory(Directory objd, String path) {
this.path = objd.path + path + a;
}
}