Super! Vielen dank, das hat schonmal funktioniert
Meine 3 Problemzonen haben sich verabschiedet und es startet...juhu
Aber ich habe irgendwie, irgendwo noch einen Denkfehler.
Wenn ich nun einen Klammerausdruck ala "((((" eingebe gibt mir das Prog richtig zurück das es Falsch ist
.
Aber wenn ich nun eingebe ((a+b)) zeigt er mir ebefalls Falsch an.
Wenn ich einen ausdruck "(())" eingebe wirft er mir nicht meine letzte Zeile
C#-Quelltext
1: 2:
| Console.WriteLine("Zeichenkette ist korrekt!"); |
aus
Ich habe doch aber mit
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| if (c[i] == '('){ myStack.Push('('); }else if (c[i] == '[') { myStack.Push('['); }else if (c[i] == '{'){ myStack.Push('{'); |
mitgeteilt das ich nur die angegeben Zeichen beachten will oder sehe ich das falsch ?
Und dann macht mir folgendes noch Bauchschmerzen
C#-Quelltext
1:
| if (myStack.Contains('*') == true) |
Ich weiß das es bei Java "myStack.isEmpty" gibt jedoch bei C# nicht und mit Contains kann ich doch bestimmen ob etwas im Stack liegt ?!So habe ich das zumindestens aus der MSDN Doku verstanden.
Ich hoffe meine Fragen sind nicht zu doof, ich stehe noch ganz am Anfang und versuche die Zusammenhänge zu begreifen.
Vielen Dank