public boolean istKorrektGeklammert() {
/* Es werden 3 Variablen deklariert die für die Berrechnug der Methode
* benötigt werden. Als erstes werden die beiden Variablen für
* die Kalmmersymbole deklariert. Je nachdem welche Ausdrücke man
* untersucht kann man über die Variable "klammerAuf" und "klammerZu"
* die Klammern eingeben die gesucht sind. Als drittest wird eine
* Zählvariable deklariert welche die Klammern mitzählt, bei einer
* offenen Klammer +1 bei einer geschlossenen -1.
*/
int klammerAuf = '(';
int klammerZu = ')';
int counter = 0;
/*
* Initialisierung der Schleife, es wird eine weitere Hilfsvariable
* deklariert die als Zaehler aggiert und die Laenge des Ausdruckes
* angibt. Es wird nun geprüft ob die laenge < der Folgenlänge ist und
* gleichzeitig der counter >= 0 ist. wenn ja dann wird i um eins erhöht
* solange bis laenge > ist als die folgenlänge, dann wird laenge
* ausgegeben den laenge = folgenlänge.
*/
for (int laenge = 0; laenge < folge.length()
&& counter >= 0; laenge = laenge + 1) {
/* Wenn nun der Counter keinen Inhalt hat, also leer ist und es tritt
* eine geschlossene auf dann wird der Counter um eins verringert
* also -1. Er muss aber immer größer sein als null und somit wird die
* Methode abgebrochen und false ausgegeben.
* Wenn eine geöffnete Klammer auftritt wird der Counter um eins erhöht
* und bei einer geschlossenen Klammer um eins reduziert, wenn dabei
* ein wert < 0 oder > 0 rauskommt wird false ausgegeben, denn jede
* offene Klammer muss auch eine geschlossene haben als muss der
* Counter bei richtiger setzung 0 haben. Alles andere wäre false,
* wenn der counter 0 hat wird true ausgegeben.
*/
if (folge.charAt(laenge) == klammerAuf) {
counter = counter + 1;
}
else if (folge.charAt(laenge) == klammerZu) {
counter = counter - 1;
}
}
/* Ausgabe des counters, er wird immer als true ausgegeben denn sollte
* der Ausdruck fehler in der Klammerung haben wird vorher schon mit
* false abbgebrochen.
*/
return (counter == 0);
}