Masz kilka pomieszanych pytań. Zasadniczo tak, str.charAt(str.length() - 1)jest zwykle ostatnim znakiem w ciągu; ale zastanów się, co się stanie, jeśli str jest pusty lub zerowy.
Vance Maverick
Działa dobrze. Ale logika kontroli palidromu nie brzmi poprawnie, proszę również wspomnieć o tym, jaki błąd się pojawia.
zwraca go jako ciąg, a nie znak, ale już wiesz, jak to zrobić, i nie jestem pewien, czego szukasz.
jcomeau_ictx
8
Co jeśli twój ciąg jest pusty?
duński Khan
4
w takim przypadku powstanie wyjątek. nie chciałbyś tego?
jcomeau_ictx
Pytanie wymaga znaku - zwraca łańcuch o długości jednego znaku. Należy używać charAt()niesubstring()
Andrew
1
Andrew, jeśli spojrzysz na oryginalne pytanie przed jego edycją, zobaczysz, że OP już wypróbował charAt () i nie było to, czego chciała. To jeden z problemów z medium typu wiki, takim jak SO, pytania są ruchomym celem, a czasem odpowiedzi mogą wyglądać głupio.
bądź bardzo ostrożny, jeśli chcesz wykonać obliczenia na liczbie w ciągu, ponieważ wartości char są zupełnie inne niż liczba literalna, a wyniki matematyczne nie będą działać.
JesseBoyd
32
Pozostałe odpowiedzi zawierają wiele niepotrzebnego tekstu i kodu. Oto dwa sposoby uzyskania ostatniego znaku ciągu:
Pozostałe odpowiedzi są bardzo kompletne i zdecydowanie powinieneś ich użyć, jeśli próbujesz znaleźć ostatni znak ciągu. Ale jeśli próbujesz użyć warunkowego (np. To ostatni znak „g”), możesz również wykonać następujące czynności:
Nie sądzę, że ten kod się skompiluje (wymaga tylko drobnych poprawek), gdy tylko go skompilujesz, daj mu test na pustym ciągu, aby sprawdzić, czy działa.
Knells,
2
Chociaż ta odpowiedź jest prawdopodobnie poprawna i przydatna, najlepiej jest dołączyć wraz z nią wyjaśnienie wyjaśniające, w jaki sposób pomaga rozwiązać problem. Staje się to szczególnie przydatne w przyszłości, jeśli nastąpi zmiana (prawdopodobnie niezwiązana), która spowoduje, że przestanie ona działać, a użytkownicy będą musieli zrozumieć, jak kiedyś działała. Dzięki!
str.charAt(str.length() - 1)
jest zwykle ostatnim znakiem w ciągu; ale zastanów się, co się stanie, jeśli str jest pusty lub zerowy.Odpowiedzi:
Kod:
Wyjście
java Test abcdef
:źródło
charAt()
niesubstring()
Oto metoda wykorzystująca
String.charAt()
:Wynikowy wynik to
last char = a
.źródło
Pozostałe odpowiedzi zawierają wiele niepotrzebnego tekstu i kodu. Oto dwa sposoby uzyskania ostatniego znaku ciągu:
zwęglać
Strunowy
źródło
Pozostałe odpowiedzi są bardzo kompletne i zdecydowanie powinieneś ich użyć, jeśli próbujesz znaleźć ostatni znak ciągu. Ale jeśli próbujesz użyć warunkowego (np. To ostatni znak „g”), możesz również wykonać następujące czynności:
lub struny
źródło
Spróbuj tego:
źródło
Proste rozwiązanie to:
Używanie tablicy znaków (uważaj na paskudny pusty argument String lub null String!)
Inne rozwiązanie wykorzystuje StringBuilder (zwykle używany do manupilacji String, ponieważ sam String jest niezmienny.
Jeszcze inne podejście (bardziej do instrukcji niż do faktycznego użycia) to:
Tutaj cały ciąg znaków jest odwracany, a następnie część, której nie należy odwracać, jest zastępowana podciągiem. ;)
źródło
źródło
źródło
Dane wyjściowe powinny wynosić:
Miłego kodowania!
źródło
Oto metoda, której używam do uzyskania ostatniego xx ciągu:
Następnie użyj go w następujący sposób:
źródło
źródło