Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

habe ein Problem mit folgendem Code:


String FunktionsString = "sin(x)+0+0";


StringTokenizer FunktionsSplitter = new StringTokenizer(FunktionsString,"+",true);


        while (FunktionsSplitter.hasMoreTokens())

        {

            txt_test.setText(txt_test.getText() +FunktionsSplitter.nextToken());

        }

Eigentlich will ich erreichen, dass in dem Textfeld "sin(x)+0+0" steht. Ich weiß es würde auch einfacher gehen, aber ich will das mit dem Tokenizer einmal machen.

als Ausgabe in txt_test bekomme ich eine Endlosschleife: sin(x)+0+0sin(x)+0+0sin(x)+0+0sin(x)+0+0...

Also so wie ich das sehe müsste das Argument der whileschleife nach der zweiten 0 false ergeben und damit keinen weiteren Output im Textfeld geben.

mfg hyperion

Geschrieben

Servus,

das sieht soweit gut aus. Bist Du sicher, dass der Fehler in diesem Teil der Anwendung liegt? Pack das mal in eine eigene main und gebe es auf die Kommandozeile aus. Ich vermute eher, dass Du diese paar Zeilen n mal ausführst. Um das zu verifizieren müsste man aber mehr Code haben. :)

Peter

Geschrieben

Hallo,

ah Danke. Der Codeschnipsel war innerhalb der Paintmethode. Ich habe diesen nun da rausgeholt und jetzt gehts. Allerdings verstehe ich nicht ganz warum es innerhalb der Paintmethode zu einer Endlosschleife kommt, denn eigentlich sollte diese doch nur einmal ausgeführt werden solange ich nirgendwo repaint() aufrufe.

mfg hyperion

Geschrieben

Naja ich kann mir das ganz einfach so vorstellen, so wie es aussieht hattest du den Aufruf dieser Methode in der paint() Methode deiner JTextbox.

Deine Methode ändert dann also in der paint() Methode den Wert "text" der JTextbox, dadurch wird intern, um diesen neuen Wert auf dem Bildschirm darzustellen, wiederrum die paint() Methode aufgerufen, weil die JTextbox dazu ja neugezeichnet werden muss.

Dann wird durch deine Methode aber wieder der Wert verändert und das Spielchen fängt wieder von vorne an....

Das wäre meine Erklärung dafür.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...