java reverse string tutorial with programming examples
W tym samouczku nauczymy się odwracać ciąg znaków w Javie przy użyciu metody Reverse () klas StringBuilder i StringBuffer za pomocą przykładów:
Tutaj omówimy metodę reverse () String Java i jej użycie wraz z wystarczającymi przykładami programowania, często zadawanymi pytaniami i pytaniami opartymi na scenariuszach, które dadzą wyobrażenie o odpowiednich obszarach tej metody.
Po przejściu przez ten samouczek będziesz w stanie lepiej zrozumieć metodę reverse () String Java i możesz samodzielnie zastosować ją w różnych programach obsługujących ciągi znaków.
=> Odwiedź tutaj, aby nauczyć się języka Java od podstaw.
Czego się nauczysz:
Odwrotny ciąg Java
Zanim zaczniemy, powinniśmy zrozumieć, że klasa String Java jest niezmienna i nie ma metody reverse (). Jednak klasy StringBuilder i StringBuffer mają wbudowaną metodę reverse () języka Java.
Jak sama nazwa wskazuje, metoda reverse () służy do odwrócenia kolejności występowania wszystkich znaków ciągu.
Składnia:
StringBuffer reverse()
StringBuffer Reverse String
W tym przykładzie , zainicjowaliśmy zmienną typu String i zapisaliśmy wszystkie znaki tego ciągu w StringBuffer. Następnie użyliśmy metody reverse (), aby odwrócić wystąpienie znaków ciągu.
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); // Printed the StringBuffer System.out.println(sb); } }
Wynik:
StringBuilder Reverse String
W tym przykładzie próbujemy odwrócić występowanie znaków poprzez klasę StringBuilder. Przeprowadzamy metodę reverse () na tych samych wartościach wejściowych, których użyliśmy podczas StringBuffer.
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuilder 'stbuilder' and stored all the characters of the String StringBuilder stbuilder = new StringBuilder(str); // Reversed the occurrence of characters stbuilder.reverse(); // Printed the StringBuilder System.out.println(stbuilder); } }
Wynik:
Scenariusze
Scenariusz 1: Odwróć ciąg bez użycia metody StringBuilder lub StringBuffer reverse ().
Wyjaśnienie: W tym scenariuszu pokażemy, jak odwrócić znaki w ciągu bez użycia metody reverse ().
Wzięliśmy wejściowy ciąg znaków, a następnie przekonwertowaliśmy go na znak Array. Za pomocą pętli for wydrukowaliśmy znaki w odwrotnej kolejności.
tablica java dodaj element do końca
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'SAKET'; /* * converted String into character Array * and printed all the elements in * reverse order using for loop */ char chars() = str.toCharArray(); for (int i = chars.length - 1; i >= 0; i--) { System.out.print(chars(i)); } } }
Wynik:
Scenariusz 2: Odwróć wszystkie znaki za pomocą metody Split ().
Wyjaśnienie: Jest to inny sposób na odwrócenie występowania znaków w łańcuchu. W tym scenariuszu użyjemy metody Split () do podzielenia każdego znaku ciągu, a używając pętli for, wydrukujemy każdy znak w odwrotnej kolejności.
Tutaj pobraliśmy dane wejściowe przez konsolę przy użyciu klasy skanera.
import java.util.Scanner; public class Reverse { public static void main(String() args) { String str; // Taking input through the console using Scanner Class Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Splitted each character of the String and then * printed the same in the reverse order using * for loop */ String() split = str.split(''); for(int i=split.length-1; i>=0; i--) { System.out.print(split(i) + ''); } } }
Wynik:
Scenariusz 3: Odwróć wszystkie postacie za pomocą zamiany.
Wyjaśnienie: To kolejny sposób na odwrócenie znaków w łańcuchu. Tutaj zainicjowaliśmy „i” i długość = 0.
Wewnątrz pętli for przeanalizowaliśmy znaki z obu stron, utrzymując „i” równe zero, zwiększając o 1 i zmniejszając długość o 1 dla każdego porównania między początkowym indeksem a ostatnim indeksem. Kontynuowaliśmy ten warunek, aż „i” stanie się „równe” lub „większe niż” długość.
Wreszcie, przy pomocy pętli forEach, wypisaliśmy każdy znak.
class Reverse { public static void main(String() args) { // Initialized an input String String str = 'PLEHGNITSETERAWTFOS SI SIHT'; // Converted the String into character Array char() arr = str.toCharArray(); int i, length = 0; length = arr.length - 1; for (i = 0; i Wynik:

Często Zadawane Pytania
P # 1) Czy w Javie istnieje metoda reverse () String?
Odpowiedź: Nie. Klasa String nie ma metody reverse (). Możesz jednak odwrócić String na wiele sposobów w samej klasie String. Ponadto StringBuilder, StringBuffer i Kolekcje obsługują metodę reverse ().
Pytanie nr 2) Jak możemy przekonwertować StringBuilder na String?
Odpowiedź: Poniżej podano program, w którym przekonwertowaliśmy elementy przechowywane w StringBuilder na String.
public class Reverse { public static void main(String args()) { String strArr() = { 'This', 'is', 'an', 'Example', 'of', 'String' }; // Created a new StringBuilder StringBuilder sb = new StringBuilder(); /* * Appended all the elements of str (delimited by space) into StringBuilder */ sb.append(strArr(0)); sb.append(' ' + strArr(1)); sb.append(' ' + strArr(2)); sb.append(' ' + strArr(3)); sb.append(' ' + strArr(4)); sb.append(' ' + strArr(5)); // Converted the StringBuilder into it's String Equivalent String str = sb.toString(); System.out.println(str); } }
Wynik:

Pytanie nr 3) Wymień różnicę między String, StringBuilder i StringBuffer?
Samouczek dotyczący serwera Team Foundation dla początkujących
Odpowiedź: Poniżej podano różnicę między String, StringBuilder i StringBuffer.
Strunowy StringBuffer StringBuilder String to niezmienna klasa. StringBuffer to klasa Mutable, która jest synchronizowana (bezpieczna wątkowo). StringBuilder jest również klasą Mutable, która nie jest zsynchronizowana. Ciąg jest mniej wydajny niż StringBuffer i StringBuilder, ponieważ za każdym razem, gdy wykonujemy operację na łańcuchu, tworzy nowy ciąg i wyrzuca stary ciąg w celu wyrzucenia elementów bezużytecznych. StringBuffer jest mniej wydajny. StringBuilder jest bardziej wydajny niż StringBuffer. String jest wolniejszy niż StringBuffer, gdy łączymy wiele ciągów, ponieważ za każdym razem tworzy nowe wystąpienie. StringBuffer jest wolniejszy niż StringBuilder. StringBuilder jest szybki, ponieważ nie jest zsynchronizowany.
Pytanie 4) Jak przekonwertować znak na ciąg znaków w Javie?
Odpowiedź: Możemy przekonwertować znak na String przy użyciu wbudowanej metody „toString ()”.
Sugerowana lektura => Jak konwertować Char to String w Javie
Poniżej podano program, w którym użyliśmy metody toString () do konwersji znaku char na String.
public class Reverse { public static void main(String args()) { char chars = 'A'; /* * With the help of toString() method, we have * converted a Character into its String Equivalent */ String str = Character.toString(chars); System.out.println(str); } }
Wynik:

Pytanie nr 5) Napisz program w języku Java, aby sprawdzić, czy łańcuch jest palindromem, czy nie (za pomocą StringBuffer).
Odpowiedź: Możemy użyć dowolnego programu odwracającego String (zilustrowanego powyżej), a następnie dodać warunek, aby sprawdzić, czy jest to palindrom, czy nie.
Przykładowy program podano poniżej.
import java.util.Scanner; public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'racecar'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); /* * Stored the contents of StringBuffer into str2 * by converting it using toString() */ String str2 = sb.toString(); System.out.println('The Original String is: '+str); System.out.println('The reversed String is '+str2); if (str.equals(str2)) System.out.println('The String is palindrome'); else System.out.println('The String is not a palindrome'); } }
Wynik:

Pytanie nr 6) Jak odwrócić ciąg znaków w Javie słowo po słowie?
Odpowiedź: W Javie można odwrócić ciąg znaków (słowo po słowie) za pomocą wbudowanej metody Java String Split (). Wszystko, co musisz zrobić, to przekazać białe znaki w metodzie Split ().
Sprawdź przykładowy program poniżej.
import java.util.Scanner; public class Reverse { public static void main(String() args) { String str; /* Getting input from console using Scanner class * */ Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Used split() method to print in reverse order * delimited by whitespace */ String() split = str.split(' '); for(int i=split.length-1; i>=0; i--) { System.out.print(split(i) + ' '); } } }
Wynik:

Pytanie # 7) Czy StringBuilder jest bezpieczny dla wątków? Dlaczego StringBuilder jest szybszy niż StringBuffer?
Odpowiedź: Nie, StringBuilder nie jest bezpieczny wątkowo ani zsynchronizowany. StringBuffer jest bezpieczny dla wątków. W związku z tym StringBuilder jest uważany za szybszy niż StringBuffer.
Wniosek
W tym samouczku poznaliśmy metodę reverse () String w języku Java oraz różne techniki, za pomocą których można odwrócić ciąg znaków.
Ponadto omówiliśmy wystarczającą liczbę często zadawanych pytań i przykłady programowania, które pomogą Ci zrozumieć metodę reverse ().
=> Odwiedź tutaj, aby zobaczyć serię szkoleń Java dla wszystkich.
rekomendowane lektury
- Odwróć tablicę w Javie - 3 metody z przykładami
- Samouczek dotyczący ciągów Java | Metody ciągów Java z przykładami
- Java String Array - samouczek z przykładami kodu
- Ciąg w języku Java z buforem ciągów i samouczek dotyczący tworzenia ciągów
- Metoda Java String length () z przykładami
- Java String zawiera () Samouczek dotyczący metody z przykładami
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- Metoda Java String compareTo z przykładami programowania