Hallo an alle 
Ich schreibe gerade an einer Klasse, welche mir einen String auf richtge Klammerung untersucht.
Beipiel: Ich habe die Zeichenkette (2*(a+3)+b)*(a-b) hier soll natürlich true zürückgegeben werden, da die Klammern alle richtig sind.
Bei dieser Zeichenkette )2*(a+3)/b( soll false zurückgegeben werden, da die Klammern falsch sind.
Wer kann mir da helfen. Ach ja ich will nicht den Befehl aus der Stringklasse replace benutzen.
Hier mein Code
Das ist meine Klasse die ich bisher geschrieben habe. Aber irgendwie macht Sie nicht das was Sie soll????
Sie funktioniert nicht so wie ich es will. Wer kann helfen????
bigchris
Ich schreibe gerade an einer Klasse, welche mir einen String auf richtge Klammerung untersucht.
Beipiel: Ich habe die Zeichenkette (2*(a+3)+b)*(a-b) hier soll natürlich true zürückgegeben werden, da die Klammern alle richtig sind.
Bei dieser Zeichenkette )2*(a+3)/b( soll false zurückgegeben werden, da die Klammern falsch sind.
Wer kann mir da helfen. Ach ja ich will nicht den Befehl aus der Stringklasse replace benutzen.
Hier mein Code
Code:
public class Ausdruck {
public String text;
public Ausdruck(String t) {
text = t;
}
public boolean istKlammer() {
boolean istRichtigKlammer = true;
String t = text.toUpperCase();
int laenge = t.length();
int position = 0;
while ((position < laenge / 2) && istRichtigKlammer) {
if (t.charAt(position) != t.charAt(laenge - 1 - position)) {
istRichtigKlammer = false;
}
position = position + 1;
}
return istRichtigKlammer;
}
public String testeKlammer() {
if (!text.equals("")) {
for (int laenge = text.length(); laenge > 0; laenge = laenge - 1) {
for (int index = 0; index <= text.length() - laenge;
index = index + 1) {
String klammer = text.substring(index, index + laenge);
if (new Ausdruck(klammer).istKlammer()) {
return klammer;
}
}
}
}
return "";
}
}
Das ist meine Klasse die ich bisher geschrieben habe. Aber irgendwie macht Sie nicht das was Sie soll????
Sie funktioniert nicht so wie ich es will. Wer kann helfen????
bigchris