Как сделать обратную строку в Java?

Опубликовано: 2023-01-06

Строка представляет собой последовательность символов и рассматривается в Java как объект. Это объект в Java, который хранит данные в массиве символов. Строка, которая перевернута, называется обратной строкой. Например, обратная сторона строки «программа» — «margorP».

Оглавление

Логика обращения строк в Java:

Доступны различные способы обращения строки, каждый из которых использует отдельные функции. Хотя используемые методы различны, основной процесс обращения струны почти одинаков. Типичная используемая логика:

  • Введите строку с помощью пользовательского ввода или в коде.
  • Возьмите символы строки, начиная с последней позиции, и сохраните их в любой переменной.
  • Отобразите вывод.

Изучайте онлайн-курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Различные способы перевернуть строку в Java:

  1. Использование StringBuffer или StringBuilder
  2. Использование обратной итерации
  3. Использование метода charAt()
  4. Использование объекта ArrayList
  5. Использование рекурсии
  6. Преобразование строки в байты
  7. Использование стека

Давайте рассмотрим каждый из этих методов подробно.

Популярные курсы и статьи по программной инженерии

Популярные программы
Программа Executive PG в разработке программного обеспечения - IIIT B Программа сертификации блокчейна — PURDUE Программа сертификации кибербезопасности - PURDUE MSC в области компьютерных наук - IIIT B
Другие популярные статьи
Зарплата облачного инженера в США в 2021-2022 гг. Заработная плата архитектора решений AWS в США Зарплата бэкенд-разработчика в США Зарплата Front End Developer в США
Заработная плата веб-разработчика в США Вопросы на собеседовании Scrum Master в 2022 году Как начать карьеру в сфере кибербезопасности в 2022 году? Варианты карьеры в США для студентов инженерных специальностей

1. По StringBuilder/StringBuffer

Класс StringBuffer или StringBuilder имеет встроенный метод reverse(), который переворачивает символы в строке. Он заменяет последовательность символов в обратном порядке. Этот метод является статическим методом, который реализует логику обращения строки в java .

StringBuffer и StringBuilder — это два служебных класса в Java, которые управляют выделением ресурсов для манипуляций со строками.

Использование StringBuffer:

Java-программа, которая переворачивает строку с помощью StringBuffer:

открытый класс ExampleofReverseString {

public static void main(String[] args) {

Строка str1 = «Яблоко»;

//сохраняет обратный порядок строк в переменной rev

Строка rev = новый StringBuffer(str1).reverse().toString();

// печатает строку перед реверсом

System.out.println("\Строка перед обращением: "+str1);

// печатает строку после реверса

System.out.println("Строка после обращения: "+rev);

}

}

Вывод:

Строка перед разворотом: Apple

Строка после обращения: elppA

В приведенном выше примере строка, предоставленная в качестве входных данных, будет буферизирована с использованием StringBuffer. Затем он будет перевернут с помощью метода reverse(). После реверсирования буфера он будет преобразован в строку с помощью метода toString().

Использование StringBuilder:

Класс StringBuilder более предпочтителен по сравнению с классом StringBuffer. Это быстрее и не синхронизировано.

Java-программа, которая переворачивает строку с помощью StringBuilder:

открытый класс ExampleofReverseString {

public static void main(String[] args) {

Строка str1 = «Школа»;

//сохраняет перевернутую строку в переменной rev

Строка rev = новый StringBuilder(str1).reverse().toString();

// печатает строку перед реверсом

System.out.println("\nСтрока перед реверсированием: "+str1);

// печатает строку после реверса

System.out.println("Строка после реверсирования: "+rev);

}

}

Вывод:

Строка перед реверсом: Школа

Строка перед реверсом: loohcS

В приведенном выше коде используется объект для класса StringBuilder. Соответствующие объекты StringBuilder эффективно используют память, изменяемы и быстро выполняются. Объект вызывает встроенный метод reverse() для получения желаемого результата.

2. Обратной итерацией

Java-программа, которая переворачивает строку с помощью обратной итерации:

открытый класс StringReversal {

общедоступная статическая строка reverseString (строка st) {

char ch[]=st.toCharArray();

Строка оборот=””;

for(int i=ch.length-1;i>=0;i–)

{

rev+=ch[i];

}

возврат оборотов;

}

}

открытый класс TestStringReversal {

public static void main(String[] args) {

System.out.println(StringReversal.reverseString("Я учитель"));

System.out.println(StringReversal.reverseString("Я преподаю английский предмет"));

}

}

Вывод:

я знаю

I hcaet hsilgnE tcejbus

В приведенной выше программе для обратной строки в java символы входной строки сохраняются в переменной rev+, начиная с последней позиции, с использованием цикла for. Перевернутая строка будет показана на выходе после того, как все символы будут сохранены.

Вы можете использовать цикл While для обратной итерации, и его код выглядит следующим образом:

открытый класс StringReversal {

public static void main (аргументы String [])

{

Строка stringInput = «Эта строка»;

int StrLength=stringInput.length();

в то время как (StrLength > 0)

{

System.out.print (stringInput.charAt (StrLength -1));

StrLength–;

}

}

}

Вывод:

gnirts siht

3. Использование метода charAt()

Его Java-программа выглядит следующим образом:

открытый класс ExampleofReverseString {

public static void main(String[] args) {

String str = «Изучайте Java»;

//сохраняет перевернутую строку в переменной revv

Строка оборот = "";

//длина строки будет храниться в len

int len=str.length();

for(int i=len-1;i>=0;i–)

revv = revv + str.charAt(i);

// печатает строку перед реверсом

System.out.println("\nСтрока перед реверсивной операцией: "+str);

// печатает строку после реверса

System.out.println("Строка после реверса: "+revv);

}

}

Вывод:

Строка перед реверсивной операцией: Learn Java

Строка перед реверсивной операцией: avaJ nraeL

В этой Java-программе для реверсирования строки символы входной строки хранятся в переменной revv, начиная с последней позиции, с использованием цикла for. После того, как все символы будут сохранены, в выводе будет отражена перевернутая строка.

4. Использование объекта ArrayList

Его Java-программа выглядит следующим образом:

импортировать java.util.ArrayList;

импортировать java.util.Collections;

импортировать java.util.List;

импортировать java.util.ListIterator;

открытый класс ExampleofReverseString {

public static void main(String[] args) {

String str = «Наслаждайтесь программированием»;

//преобразует входную строку в массив символов

char ch[]=str.toCharArray();

//добавляем массив символов в объект ArrayList

Список<Символ> obj = новый ArrayList<>();

для (char c: ch)

объект. добавить (с);

//передает объект ArrayList в коллекции

Коллекции.reverse(obj);

//создает объект listiterator для повторения в списке

ListIterator objnew = obj.listIterator();

//выводит строку перед разворотом

System.out.println("\nСтрока перед реверсивной операцией: "+str);

// печатает строку после разворота

System.out.println("\nСтрока после операции реверса: ");

пока (objnew.hasNext())

System.out.print(objnew.next());

}

}

Вывод:

Строка перед реверсивной операцией: Наслаждайтесь кодированием

Строка после операции обращения: gnidoc yojnE

Эта Java-программа для переворачивания строки сохраняет символы входной строки в объекте ArrayList. Он реверсируется с помощью метода reverse() в коллекциях. Итератор выполняет итерацию по списку и печатает перевернутую строку после того, как она перевернута.

5. Использование рекурсии

Его Java-программа выглядит следующим образом:

открытый класс ExampleofReverseString {

// определяет функцию разворота

Строка оборотов (строка ул) {

// возвращает ноль, если длина строки равна нулю

если (str.length() == 0)

{

возвращаться " ";

}

//иначе возвращает символ, полученный из следующего метода

вернуть str.charAt(str.length()-1) + revs(str.substring(0,str.length()-1));

}

public static void main(String[] args)

{

// создает объект класса

ПримерОбратнойСтроки r = новый ПримерОбратнойСтроки ();

//вводит строку

String str = «Мастер Java»;

//выводит строку перед разворотом

System.out.println("\nСтрока перед реверсивной операцией: "+str);

// печатает строку после разворота

System.out.println("\nСтрока после операции реверсирования: " + r.revs(str));

}

Вывод:

Строка перед реверсивной операцией: Мастер в Java

Строка после операции реверсирования: avaJ ni retsaM

В этой Java-программе генерируется рекурсивная функция. Он проверяет длину строки и десять реверсов. Он работает идентично обратной функции в java .

6. Путем преобразования строки в байты

Он использует метод getBytes(), который преобразует или разбивает входную строку на байты. В этот момент длина массива байтов равна длине входной строки. Затем программа получает байты в обратном порядке и сохраняет их в новом массиве байтов.

В следующем коде временно создается массив байтов. Создаются двухбайтовые массивы — один для хранения преобразованных байтов, а другой — для сохранения результата в обратном порядке.

Его Java-программа выглядит следующим образом:

public static void main(String[] arg) {

Строка inputvalue = «Компьютер»;

byte[] strByteArray = inputvalue.getBytes();

байт [] результат = новый байт [strByteArray.length];

// Сохраняет результат в обратном порядке в результате byte[]

for (int i = 0; i < strByteArray.length; i++)

результат[i] = strByteArray [strByteArray.length – i – 1];

System.out.println("Строка после обратной операции:" +new String(result));

}

Вывод:

Строка после обратной операции: retupmoC

7) Использование стека

Этот метод включает в себя следующие шаги для реверсирования строки Java с использованием структуры данных Stack.

  1. Создайте стек без символов.
  2. Преобразуйте входную строку в массив символов, используя метод String.toCharArray(). Впоследствии он добавляет каждый символ в стек.

III. Извлекайте символы из стека, пока он не станет пустым, а затем снова назначьте символы в массив символов. Итак, теперь персонажи будут прибывать в обратном порядке.

  1. Массив символов преобразуется в строку с помощью String.copyValueOf(char[]) и, наконец, возвращает новую строку.

Его Java-программа выглядит следующим образом:

импортировать java.util.Stack;

класс Основной

{

общедоступная статическая строка в обратном порядке (String str)

{

// проверяет, является ли строка пустой или нулевой

если (str == null || str.equals(“”)) {

вернуть ул;

}

// генерирует пустой стек символов

Stack<Character> stack = new Stack<Character>();

// добавляем все символы входной строки в стек

char[] ch = str.toCharArray();

for (int i = 0; i < str.length(); i++) {

stack.push(ch[i]);

}

// начинается с индекса 0

инт м = 0;

// извлекает символы из стека, пока он не станет пустым

пока (!stack.isEmpty())

{

// присваивает каждый полученный символ обратно массиву символов

ch[m++] = stack.pop();

}

// преобразует массив символов в строку и возвращает ее

вернуть String.copyValueOf(ch);

}

public static void main (аргументы String [])

{

String str = «Технологические инновации»;

ул = реверс (стр);

System.out.println("Обратное значение входной строки: " + str);

}

}

Вывод

Обратное значение входной строки: ygolonhceT noitavonnI.

Начните свое путешествие по Java с UpGrad

Если вы хотите изучать Java, вы должны понимать концепции Core Java. Для этого вы можете получить степень магистра наук UpGrad в области компьютерных наук . Он охватывает такие темы, как Core Java, концепции OOPS, объекты и классы в Java, методы в Java, виртуальная машина Java, полиморфизм, наследование, абстракция, инкапсуляция и т. д. Вы получите рекомендации отраслевых экспертов. Эти эксперты проводят интерактивные сеансы в прямом эфире, охватывающие учебную программу и дополнительные темы.

Каков самый простой способ изменить строку в Java?

Самый простой способ инвертировать строку в Java — использовать класс StringBuffer. Он поддерживает метод, известный как reverse(), который переворачивает содержимое существующего объекта StringBuffer и возвращает выходной объект StringBuffer.

Что такое рекурсивный метод в Java?

Метод, который вызывает сам себя, в Java называется рекурсивным методом. Соответствующий процесс называется рекурсией.

Каковы приложения String в Java?

В Java строки можно использовать для обнаружения плагиата в коде. Их можно использовать для кодирования и декодирования для безопасной передачи данных от отправителя к получателю. Строковые приложения помогают получать информацию из анонимных источников данных. Более того, Strings и его приложения-алгоритмы предоставляют вам улучшенные фильтры для решения проблемы приблизительного перекрытия суффикса-префикса.