Sie haben mehrere Fragen miteinander verwechselt. Im Allgemeinen ist ja str.charAt(str.length() - 1)normalerweise das letzte Zeichen in der Zeichenfolge. Aber überlegen Sie, was passiert, wenn str leer oder null ist.
Vance Maverick
Es funktioniert gut. Die Logik der Palidromprüfung klingt jedoch nicht korrekt. Bitte erwähnen Sie auch, welchen Fehler Sie erhalten.
Gibt es als Zeichenfolge zurück, nicht als Zeichen, aber Sie wissen bereits, wie man Letzteres macht, und mir ist nicht klar, wonach Sie suchen.
jcomeau_ictx
8
Was ist, wenn Ihre Zeichenfolge leer ist?
Dänischer Khan
4
In diesem Fall wird eine Ausnahme ausgelöst. Würdest du es nicht wollen?
jcomeau_ictx
Frage fragt nach einem Zeichen - dies gibt eine ein Zeichen lange Zeichenfolge zurück. Sollte charAt()nicht verwendensubstring()
Andrew
1
Andrew, wenn Sie auf die ursprüngliche Frage zurückblicken, bevor sie bearbeitet wurde, werden Sie feststellen, dass das OP charAt () bereits ausprobiert hat und es nicht das war, was sie wollte. Das ist eines der Probleme mit einem Wiki-ähnlichen Medium wie SO. Die Fragen sind ein bewegliches Ziel und manchmal können die Antworten dadurch albern aussehen.
Seien Sie sehr vorsichtig, wenn Sie eine Berechnung für eine Zahl innerhalb einer Zeichenfolge durchführen möchten, da sich die Zeichenwerte erheblich von einer Literalzahl unterscheiden und Ihre mathematischen Ergebnisse nicht funktionieren.
JesseBoyd
32
Die anderen Antworten enthalten viel unnötigen Text und Code. Hier sind zwei Möglichkeiten, um das letzte Zeichen eines Strings zu erhalten:
Die anderen Antworten sind sehr vollständig und sollten auf jeden Fall verwendet werden, wenn Sie versuchen, das letzte Zeichen einer Zeichenfolge zu finden. Wenn Sie jedoch nur versuchen, eine Bedingung zu verwenden (z. B. das letzte Zeichen 'g'), können Sie auch Folgendes tun:
Ich glaube nicht, dass dieser Code kompiliert wird (benötigt aber nur kleine Korrekturen). Sobald Sie ihn kompiliert haben, testen Sie ihn an einer leeren Zeichenfolge, um zu sehen, ob er funktioniert.
Knells
2
Obwohl diese Antwort wahrscheinlich richtig und nützlich ist, wird sie bevorzugt, wenn Sie eine Erklärung hinzufügen, um zu erklären, wie sie zur Lösung des Problems beiträgt. Dies ist besonders in Zukunft nützlich, wenn eine Änderung (möglicherweise ohne Bezug) dazu führt, dass sie nicht mehr funktioniert und die Benutzer verstehen müssen, wie sie einmal funktioniert hat. Vielen Dank!
str.charAt(str.length() - 1)
normalerweise das letzte Zeichen in der Zeichenfolge. Aber überlegen Sie, was passiert, wenn str leer oder null ist.Antworten:
Der Code:
Die Ausgabe von
java Test abcdef
:quelle
charAt()
nicht verwendensubstring()
Hier ist eine Methode mit
String.charAt()
:Die resultierende Ausgabe ist
last char = a
.quelle
Die anderen Antworten enthalten viel unnötigen Text und Code. Hier sind zwei Möglichkeiten, um das letzte Zeichen eines Strings zu erhalten:
verkohlen
String
quelle
Die anderen Antworten sind sehr vollständig und sollten auf jeden Fall verwendet werden, wenn Sie versuchen, das letzte Zeichen einer Zeichenfolge zu finden. Wenn Sie jedoch nur versuchen, eine Bedingung zu verwenden (z. B. das letzte Zeichen 'g'), können Sie auch Folgendes tun:
oder Strings
quelle
Versuche dies:
quelle
Einfache Lösung ist:
Verwenden eines Zeichenarrays (achten Sie auf das böse leere String- oder Null-String-Argument!)
Eine andere Lösung verwendet StringBuilder (der normalerweise zur String-Manupilation verwendet wird, da String selbst unveränderlich ist.
Ein weiterer Ansatz (mehr für den Unterricht als für den tatsächlichen Gebrauch) ist dieser:
Hier wird die gesamte Zeichenfolge umgekehrt und dann der Teil, der nicht umgekehrt werden soll, durch die Teilzeichenfolge ersetzt. ;)
quelle
quelle
quelle
Die Ausgabe sollte sein:
Viel Spaß beim Codieren!
quelle
quelle
Hier ist eine Methode, mit der ich das letzte xx eines Strings erhalte:
Dann benutze es so:
quelle