Jo hi
ich soll einen Stack programmieren, nun kommt das aber
es soll als array implimentiert werden.... komisch is aber so
das ganze ist so aufgebaut, das eine datei eingelesen werden soll , also eine textdatei,
diese sieht so aus
+name // das + steht für push
+name
- // - steht für pop
hab mir eigens ne klasse geschrieben für auslesen und eine für den StringStack
die implimentation sieht so aus
an dieser stelle bekomme ich den fehler.
if (line.substring(0, 1).equals("+")) {
stack.push(line2.substring(1));
normal ist das wenn ja keine referenz auf die klase StingStack gibt, ist aber initialisiert
noch zu der ersten while schleifen, ist nur aus dem grund, weil ich wissen muss wir gross das array sein muss, also zähl ich erst mal die anzahl der zeilen in der datei
danke für die hilfe .... wenn noch fragen offen sind, einfach fragen
ich soll einen Stack programmieren, nun kommt das aber
es soll als array implimentiert werden.... komisch is aber so
das ganze ist so aufgebaut, das eine datei eingelesen werden soll , also eine textdatei,
diese sieht so aus
+name // das + steht für push
+name
- // - steht für pop
hab mir eigens ne klasse geschrieben für auslesen und eine für den StringStack
die implimentation sieht so aus
Code:
public void lesen(String name) throws Exception {
int zaehler = 1;
int z = 0;
String line, line2;
try {
BufferedReader in = new BufferedReader(new FileReader(name));
file = new File(name);
if (!file.exists() && !file.canRead() && !file.isFile()) {
throw new FileException();
}
while ((line = in.readLine()) != null) {
z++;
}
stack = new StringStack(z);
while ((line2 = in.readLine()) != null) {
ausgeben(zaehler);
zaehler++;
if (line.substring(0, 1).equals("+")) {
stack.push(line2.substring(1));
} else if (line2.substring(0, 1) .equals("-")) {
stack.pop();
} else {
throw new NoSuchElementException("Fehler in der Zeile : " + Integer.toString(zaehler));
}
}
in.close();
} catch (FileException e) {
throw new FileException("File error");
}
}
an dieser stelle bekomme ich den fehler.
if (line.substring(0, 1).equals("+")) {
stack.push(line2.substring(1));
normal ist das wenn ja keine referenz auf die klase StingStack gibt, ist aber initialisiert
noch zu der ersten while schleifen, ist nur aus dem grund, weil ich wissen muss wir gross das array sein muss, also zähl ich erst mal die anzahl der zeilen in der datei
danke für die hilfe .... wenn noch fragen offen sind, einfach fragen