java reverse string tutorial with programming examples
У цьому посібнику ми навчимося обертати рядок у Java за допомогою методу Reverse () класів StringBuilder та StringBuffer за допомогою прикладів:
Тут ми обговоримо метод зворотного () рядка Java, і його використання, а також достатню кількість прикладів програмування, поширені запитання та запитання на основі сценаріїв, які дадуть вам уявлення про застосовні галузі цього методу.
Пройшовши цей посібник, ви зможете краще зрозуміти метод зворотного () String Java і зможете застосувати цей метод у різних програмах обробки рядків самостійно.
=> Завітайте сюди, щоб вивчити Java з нуля.
Що ви дізнаєтесь:
Зворотний рядок Java
Перш ніж розпочати, слід зрозуміти, що клас Java String є незмінним і він не має методу reverse (). Однак класи StringBuilder та StringBuffer мають вбудований метод Java (reverse)).
Як випливає з назви, метод reverse () використовується, щоб змінити порядок входження всіх символів рядка.
Синтаксис:
StringBuffer reverse()
StringBuffer Зворотний рядок
У цьому прикладі , ми ініціалізували змінну String і зберегли всі символи цього рядка в StringBuffer. Потім ми використали метод reverse (), щоб змінити входження символів рядка.
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. Ми проводимо метод 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 ми надрукували символи у зворотному порядку.
запитання та відповіді на інтерв’ю для бізнес-аналітика
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 () для розділення кожного символу рядка, а за допомогою циклу for ми будемо друкувати кожен символ у зворотному порядку появи.
Тут ми провели вхід через консоль за допомогою класу сканера.
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 Вихід:

Часті запитання
Q # 1) Чи існує в Java метод зворотного () рядка?
Відповідь: Ні. Клас String не має методу reverse (). Однак ви можете повернути рядок назад, використовуючи кілька способів у самому класі 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?
діапазон с ++ від 0 до 1
Відповідь: Нижче наведено різницю між String, StringBuilder і StringBuffer.
Рядок StringBuffer StringBuilder Рядок - це незмінний клас. StringBuffer - це змінний клас, який синхронізований (безпечний для потоків). StringBuilder - це також змінний клас, який не синхронізується. Рядок менш ефективний, ніж StringBuffer та StringBuilder, оскільки кожного разу, коли ми виконуємо маніпуляції з String, він створює новий String і кидає старий String для збору сміття. StringBuffer менш ефективний. StringBuilder ефективніший за StringBuffer. Рядок повільніший за StringBuffer, коли ми поєднуємо кілька рядків, оскільки він кожного разу створює новий екземпляр. StringBuffer повільніший за StringBuilder. StringBuilder швидкий, оскільки він не синхронізований.
Q # 4) Як перетворити символ у рядок на Java?
Відповідь: Ми можемо перетворити символ у рядок, використовуючи вбудований метод “toString ()”.
Рекомендоване читання => Як конвертувати Char to String на Java
Нижче наведена програма, де ми використали метод toString () для перетворення символу в рядок.
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 ().
=> Завітайте сюди, щоб побачити навчальну серію Java для всіх.
Рекомендована література
- Зворотній масив у Java - 3 методи з прикладами
- Підручник із рядків Java | Рядові методи Java на прикладах
- Струнковий масив Java - Підручник із прикладами коду
- Рядок Java із підручником для буфера рядків та побудови рядків
- Довжина рядка Java () Метод із прикладами
- Рядок Java містить () Підручник із методів із прикладами
- Підручник JAVA для початківців: 100+ практичних навчальних посібників Java
- Рядок Java порівняти до методу з прикладами програмування