Zeigen Sie alternativ jeden Text an, der in das Textfeld eingegeben wurde
%Vor% setText
ändert den Textinhalt genau so, wie Sie ihn angegeben haben, ohne ihn anzuhängen.
Konvertiere das String
zuerst aus dem Feld und wende es dann direkt an ...
Sie müssen nicht nachverfolgen, ob Sie den Charakter bereits von oben nach unten geändert haben. Dein Code macht das schon, weil es im Grunde Folgendes ist:
%Vor% Die Tatsache, dass Sie else
dort haben (in Zeile 4), bedeutet, dass ein Zeichen, das anfangs groß geschrieben war, niemals in der zweiten if
-Anweisung (in Zeile 5) geprüft wird.
Beispiel: Beginnen Sie mit A
. Da es sich um einen Großbuchstaben handelt, wird es in Kleinbuchstaben umgewandelt
3 und dann gehst du zurück zu Zeile 1 für das nächste Zeichen.
Wenn Sie mit z
beginnen, wird das if
in Zeile 2 direkt an Zeile 5 gesendet, wo es in Großbuchstaben umgewandelt wird. Alles, was weder Groß- noch Kleinbuchstaben ist, wird bei beiden if
-Anweisungen fehlschlagen und bleibt daher unberührt.
Das Problem ist, dass Sie versuchen, den Wert von SecondTextField
nach dem Überprüfen jedes einzelnen Zeichens in der ursprünglichen Zeichenfolge festzulegen. Sie sollten die Konvertierung "auf der Seite", ein Zeichen nach dem anderen, durchführen und erst dann das Ergebnis in SecondTextField
setzen.
Beginnen Sie beim Erstellen der ursprünglichen Zeichenfolge mit dem Erstellen der Ausgabe aus einer leeren Zeichenfolge. Hängen Sie das Zeichen im umgekehrten Fall an, bis Ihnen die Zeichen ausgehen. Sobald die Ausgabe fertig ist, setze sie auf SecondTextField
.
Sie können eine Ausgabe zu String
machen, sie auf eine leere Zeichenkette ""
setzen und während des Laufs Zeichen an sie anhängen. Das wird funktionieren, aber das ist ein ineffizienter Ansatz. Ein besserer Ansatz wäre die Verwendung einer StringBuilder
Klasse, die es ermöglicht Du änderst die Saite, ohne das Ganze wegzuwerfen.
Dies ist ein besserer Ansatz ohne Verwendung einer String-Funktion.
%Vor%Hier ist die andere Variante der ähnlichen Lösung mit Hilfe von ASCII-Werten.
%Vor%