java reverse string tutorial with programming examples
В този урок ще се научим да обръщаме низ в Java, използвайки метода Reverse () на StringBuilder и StringBuffer класове с помощта на примери:
Тук ще обсъдим метода на обратния () String Java и неговото използване заедно с достатъчно примери за програмиране, често задавани въпроси и базирани на сценарии въпроси, които ще ви дадат представа за приложимите области на този метод.
След като преминете през този урок, ще можете да разберете по-добре метода на обратния () String Java и можете сами да приложите метода в различни програми за обработка на низове.
=> Посетете тук, за да научите Java от нулата.
Какво ще научите:
Java обратен низ
Преди да започнем, трябва да разберем, че класът Java String е неизменим и той няма метода reverse (). Класовете StringBuilder и StringBuffer обаче имат вградения метод Java reverse ().
Както подсказва името, методът reverse () се използва за обръщане на реда на появяване на всички символи на String.
Синтаксис:
StringBuffer reverse()
StringBuffer Обратен низ
В този пример , инициализирахме променлива String и съхранихме всички символи от този String в StringBuffer. След това използвахме метода reverse (), за да обърнем появата на символите на String.
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); } }
Изход:
StringBuilder Обратен низ
В този пример ние се опитваме да обърнем появата на символите чрез StringBuilder Class. Извършваме метода reverse () на същите входни стойности, които използвахме по време на 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); } }
Изход:
Сценарии
Сценарий 1: Обърнете низ, без да използвате метода StringBuilder или StringBuffer reverse ().
Обяснение: В този сценарий ще ви покажем как да обърнете символите на низ, без да използвате метода reverse ().
Взехме входен низ и след това го преобразувахме в символен масив. С помощта на цикъл for отпечатахме символите в обратен ред.
най-добрият системен оптимизатор за Windows 10
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)); } } }
Изход:
Сценарий 2: Обърнете всички символи обратно, като използвате метода Split ().
Обяснение: Това е друг начин да се обърне появата на символите на низ. В този сценарий ще използваме метода Split (), за да разделим всеки знак от String и използвайки for цикъл, ще отпечатаме всеки символ в обратен ред на поява.
Тук взехме входните данни през конзолата, използвайки Scanner Class.
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) + ''); } } }
Изход:
Сценарий 3: Обърнете всички символи с помощта на размяна.
Обяснение: Това е още един начин да обърнете символите на низ. Тук сме инициализирали „i“ и дължина = 0.
Вътре в цикъла for сме анализирали символите от двете страни, като запазим ‘i’ равен на нула, увеличавайки с 1 и намалявайки дължината с 1 за всяко сравнение между началния индекс и последния индекс. Продължихме това условие, докато „i“ стане „равно на“ или „по-голямо от“ дължината.
И накрая, с помощта на цикъла forEach, ние отпечатахме всеки знак.
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 Изход:

често задавани въпроси
Въпрос # 1) Има ли метод на обратен () низ в Java?
Отговор: Не. Класът String няма метод reverse (). Можете обаче да обърнете String, като използвате няколко начина в самия клас String. Също така StringBuilder, StringBuffer и Collections поддържат метода reverse ().
Q # 2) Как можем да преобразуваме StringBuilder в String?
Отговор: По-долу е дадена програмата, в която сме преобразували елементите, съхранявани в StringBuilder, в 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); } }
Изход:

Q # 3) Избройте разликата между String, StringBuilder и StringBuffer?
как да намеря маска на подмрежата по подразбиране -
Отговор: По-долу е дадена разликата между String, StringBuilder и StringBuffer.
Струна StringBuffer StringBuilder String е неизменим клас. StringBuffer е изменяем клас, който е синхронизиран (безопасен за нишките). StringBuilder също е променлив клас, който не е синхронизиран. String е по-малко ефективен от StringBuffer и StringBuilder, защото всеки път, когато извършваме манипулация с String, той създава нов String и хвърля стария String за събиране на боклука. StringBuffer е по-малко ефективен. StringBuilder е по-ефективен от StringBuffer. String е по-бавен от StringBuffer, когато конкатираме множество низове, тъй като всеки път създава нов екземпляр. StringBuffer е по-бавен от StringBuilder. StringBuilder е бърз, защото не е синхронизиран.
Q # 4) Как да конвертирам char в низ в Java?
Отговор: Можем да преобразуваме символ в String, използвайки вграден метод “toString ()”.
Предложено четене => Как да конвертирате Char to String в Java
По-долу е дадена програмата, в която използваме метода toString (), за да преобразуваме char в 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); } }
Изход:

Q # 5) Напишете Java програма, за да проверите дали низът е палиндром или не (Използване на StringBuffer).
Отговор: Можем да използваме всяка от програмите за обръщане на низове (илюстрирана по-горе) и след това да добавим условие, за да проверим дали е палиндром или не.
Примерна програма е дадена по-долу.
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'); } }
Изход:

Q # 6) Как да обърнете низ в Java дума по дума?
Отговор: Можете да обърнете низ в Java (дума по дума), като използвате вградения метод Java String Split (). Всичко, което трябва да направите, е да предадете празно пространство в метода Split ().
Вижте примерната програма по-долу.
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) + ' '); } } }
Изход:

Q # 7) StringBuilder безопасно ли е с нишки? Защо StringBuilder е по-бърз от StringBuffer?
Отговор: Не, StringBuilder не е безопасен за нишки или е синхронизиран. StringBuffer е безопасен за нишки. По този начин StringBuilder се счита за по-бърз от StringBuffer.
Заключение
В този урок научихме за метода на Java String reverse () и различните техники, чрез които можете да обърнете низ.
Освен това сме разгледали достатъчно често задавани въпроси и примери за програмиране, които ще ви помогнат да разберете метода на reverse ().
=> Посетете тук, за да видите серията за обучение за Java за всички.
Препоръчително четене
- Обръщане на масив в Java - 3 метода с примери
- Java урок за низове | Низови методи на Java с примери
- Java String Array - Урок с примери за кодове
- Java String с урок за String Buffer и String Builder
- Дължина на низа на Java () Метод с примери
- Java String съдържа () урок за методи с примери
- Урок за JAVA за начинаещи: 100+ практически ръководства за Java видео
- Java String compareTo метод с примери за програмиране