Как сделать обратную строку в Java?
Опубликовано: 2023-01-06Строка представляет собой последовательность символов и рассматривается в Java как объект. Это объект в Java, который хранит данные в массиве символов. Строка, которая перевернута, называется обратной строкой. Например, обратная сторона строки «программа» — «margorP».
Оглавление
Логика обращения строк в Java:
Доступны различные способы обращения строки, каждый из которых использует отдельные функции. Хотя используемые методы различны, основной процесс обращения струны почти одинаков. Типичная используемая логика:
- Введите строку с помощью пользовательского ввода или в коде.
- Возьмите символы строки, начиная с последней позиции, и сохраните их в любой переменной.
- Отобразите вывод.
Изучайте онлайн-курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Различные способы перевернуть строку в Java:
- Использование StringBuffer или StringBuilder
- Использование обратной итерации
- Использование метода charAt()
- Использование объекта ArrayList
- Использование рекурсии
- Преобразование строки в байты
- Использование стека
Давайте рассмотрим каждый из этих методов подробно.
Популярные курсы и статьи по программной инженерии
Популярные программы | |||
Программа 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.
- Создайте стек без символов.
- Преобразуйте входную строку в массив символов, используя метод String.toCharArray(). Впоследствии он добавляет каждый символ в стек.
III. Извлекайте символы из стека, пока он не станет пустым, а затем снова назначьте символы в массив символов. Итак, теперь персонажи будут прибывать в обратном порядке.
- Массив символов преобразуется в строку с помощью 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 и его приложения-алгоритмы предоставляют вам улучшенные фильтры для решения проблемы приблизительного перекрытия суффикса-префикса.