wie man Kleinbuchstaben in Großbuchstaben und Großbuchstaben in Kleinbuchstaben umrechnet

7

Zeigen Sie alternativ jeden Text an, der in das Textfeld eingegeben wurde

%Vor%     
CRazyProgrammer 20.02.2013, 03:55
quelle

14 Antworten

14

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 ...

%Vor%     
MadProgrammer 20.02.2013, 04:01
quelle
5

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.

    
paxdiablo 20.02.2013 03:59
quelle
4

Sie können StringUtils.swapCase() von org.apache.commons

verwenden     
Pshemo 20.02.2013 04:04
quelle
4

Dies ist eine bessere Methode: -

%Vor%     
Shubham 02.02.2014 18:46
quelle
3

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.

    
dasblinkenlight 20.02.2013 04:02
quelle
2
%Vor%     
rocks 29.01.2014 05:31
quelle
2

Dies ist ein besserer Ansatz ohne Verwendung einer String-Funktion.

%Vor%     
Amarjit Datta 13.06.2017 17:24
quelle
1

Hier sind Sie eine andere Version:

öffentliche Klasse Palindrom {

%Vor%

}

    
Tano 14.10.2015 14:53
quelle
0
%Vor%     
Umarjon 19.04.2015 06:22
quelle
0

Hier ist die andere Variante der ähnlichen Lösung mit Hilfe von ASCII-Werten.

%Vor%     
Dinesh Sonachalam 17.10.2016 04:38
quelle
0
%Vor%     
Divya 10.02.2017 10:29
quelle
0
%Vor%     
Aditya Parmar 02.06.2017 22:15
quelle
0
%Vor%     
Ebin Thomas 28.08.2017 10:41
quelle
0
%Vor%     
Janeth Fernando 25.02.2018 15:11
quelle

Tags und Links