Hallo zusammen,
ersteinmal zu mir: Ich bin rel. Neu in Java aber da ich von C# umsteige habe ich eig. Keine großen Probleme bisher gehabt. Dennoch habe ich ein Verständnisproblem in der Ablauflogik.
Folgende beiden Funktionen:
Mein Ziel ist es ein „Taschenrechner“ zu Programmieren. Man kann über eine GUI eine Gleichung eingeben und mein Algorithmus rechnet dann entsprechend die komplette Gleichung aus. Dazu habe ich einen rekursiven Algorithmus entwickelt, der soweit auch funktionstüchtig ist. Nach dem die Abbruchbedingung erreicht ist
springt er auch ganz ordentlich zum „return term;“ Allerdings ruft er im debug Modus mit Einzelschrittanweisung nach und nach wieder die Funktion
auf. Bis der Term wieder in der Ausgangssituation ist. Erst dann wird dieser an die Usprünglich aufgerufende Variable vergeben
Wie kann das denn sein? Ich verstehe das nicht L
Die Algorithmen sind erst in der Entwicklung. Beschränkung auf mal Zeichen etc. Muss noch alles aufgebaut werden.
Kann mir irgendwer ein Tipp geben? Sehe den Wald vor lauter Bäumen mal wieder nicht L
Danke schon mal an alle hier im Forum die mir Helfen. Bin für jeden Tipp dankbar
ersteinmal zu mir: Ich bin rel. Neu in Java aber da ich von C# umsteige habe ich eig. Keine großen Probleme bisher gehabt. Dennoch habe ich ein Verständnisproblem in der Ablauflogik.
Folgende beiden Funktionen:
Code:
public void btnGleich_Click() {
String gleichung = tbGleichung.getText();
String[] arrGleichung = HelperClass.teileAuf(gleichung);
int anzahl = HelperClass.findeMalZeichenAnzahl(arrGleichung);
String[] neu = Berechne(arrGleichung,anzahl);
}
public String[] Berechne(String[] term, int malZeichenAnzahl)
{
String[] newTerm = new String[term.length];
if (malZeichenAnzahl > 0 )
{
int i = 0;
while (!term[i+1].equals("*")) {
newTerm[i] = term[i];
i++;
}
newTerm[i] = HelperClass.Multipliziere(term[i], term[i+2]);
for (int z = i+1; z<term.length-2; z++)
{
newTerm[z] = term[z+2];
}
malZeichenAnzahl--;
Berechne(newTerm, malZeichenAnzahl);
int t = 0;
}
return term;
}
Code:
if (malZeichenAnzahl >0
Code:
Berechne(newTerm, malZeichenAnzahl);
Code:
String[] neu = Berechne(arrGleichung,anzahl);
Die Algorithmen sind erst in der Entwicklung. Beschränkung auf mal Zeichen etc. Muss noch alles aufgebaut werden.
Kann mir irgendwer ein Tipp geben? Sehe den Wald vor lauter Bäumen mal wieder nicht L
Danke schon mal an alle hier im Forum die mir Helfen. Bin für jeden Tipp dankbar