java reverse string tutorial with programming examples
En aquest tutorial, aprendrem a invertir una cadena a Java mitjançant el mètode Reverse () de les classes StringBuilder i StringBuffer amb l'ajut d'exemples:
Aquí parlarem del mètode Java de cadena inversa () i del seu ús, juntament amb suficients exemples de programació, preguntes freqüents i preguntes basades en escenaris que us donaran una idea sobre les àrees aplicables d’aquest mètode.
En passar aquest tutorial, podreu entendre millor el mètode invers de () String Java i podeu aplicar-lo pel vostre compte a diversos programes de manipulació de cadenes.
=> Visiteu aquí per aprendre Java des de zero.
Què aprendreu:
Cadena inversa de Java
Abans de començar, hem d’entendre que la classe Java String és immutable i no té el mètode reverse (). No obstant això, les classes StringBuilder i StringBuffer tenen el mètode Java reverse () incorporat.
Com el seu nom indica, el mètode reverse () s’utilitza per invertir l’ordre d’aparició de tots els caràcters d’una cadena.
Sintaxi:
StringBuffer reverse()
Cadena inversa StringBuffer
En aquest exemple , hem inicialitzat una variable de cadena i hem emmagatzemat tots els caràcters d’aquesta cadena a StringBuffer. A continuació, hem utilitzat el mètode reverse () per invertir l'aparició dels caràcters de la cadena.
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); } }
Sortida:
StringBuilder Cadena inversa
En aquest exemple, intentem revertir l'aparició dels personatges a través de la classe StringBuilder. Estem realitzant el mètode reverse () amb els mateixos valors d’entrada que hem utilitzat durant el 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); } }
Sortida:
Escenaris
Escenari 1: Invertiu una cadena sense utilitzar el mètode StringBuilder o StringBuffer reverse ().
Explicació: En aquest escenari, us mostrarem com invertir els caràcters d’una cadena sense utilitzar el mètode reverse ().
Hem pres una cadena d’entrada i després la hem convertit en matriu de caràcters. Amb l'ajut de for loop, hem imprès els caràcters en l'ordre invers.
Descàrrega de la biblioteca estàndard c ++
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)); } } }
Sortida:
Escenari 2: Invertiu tots els caràcters mitjançant el mètode Split ().
Explicació: Aquesta és una altra manera de revertir l'aparició dels personatges d'una cadena. En aquest escenari, utilitzarem el mètode Split () per dividir cada caràcter d'una cadena i, mitjançant el bucle for, imprimirem cada caràcter en l'ordre invers d'ocurrència.
Aquí, hem pres l'entrada a través de la consola mitjançant la classe d'escàner.
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) + ''); } } }
Sortida:
Escenari 3: Invertiu tots els personatges mitjançant l’intercanvi.
Explicació: Aquesta és una altra manera d’invertir els personatges d’una cadena. Aquí hem inicialitzat la 'i' i la longitud = 0.
Dins del bucle for, hem analitzat els caràcters dels dos costats mantenint la 'i' igual a zero, incrementant en 1 i la longitud disminuint en 1 per a cada comparació entre l'índex inicial i l'últim índex. Hem continuat aquesta condició fins que 'i' es converteix en 'igual a' o 'superior a' la longitud.
Finalment, amb l'ajut del bucle forEach, hem imprès cada caràcter.
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 Sortida:

Preguntes freqüents
P # 1) Hi ha un mètode de cadena reverse () a Java?
Resposta: La classe String no té un mètode reverse (). Tanmateix, podeu revertir una cadena mitjançant diverses formes de la mateixa classe de cadenes. A més, StringBuilder, StringBuffer i Collections admeten el mètode reverse ().
Q # 2) Com podem convertir un StringBuilder en String?
Resposta: A continuació es mostra el programa en què hem convertit els elements emmagatzemats en un StringBuilder en una cadena.
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); } }
Sortida:

Q # 3) Enumereu la diferència entre String, StringBuilder i StringBuffer?
empreses d’investigació de mercat més importants del món
Resposta: A continuació es mostra la diferència entre String, StringBuilder i StringBuffer.
Corda StringBuffer StringBuilder Una cadena és una classe immutable. StringBuffer és una classe mutable sincronitzada (thread-safe). StringBuilder també és una classe mutable que no està sincronitzada. Una cadena és menys eficient que StringBuffer i StringBuilder, perquè cada vegada que realitzem la manipulació de la cadena, crea una cadena nova i llança la cadena antiga per a la recollida d’escombraries. StringBuffer és menys eficient. StringBuilder és més eficient que StringBuffer. Una cadena és més lenta que la StringBuffer quan concatem diverses cadenes, ja que crea una nova instància cada vegada. StringBuffer és més lent que StringBuilder. StringBuilder és ràpid perquè no està sincronitzat.
Q # 4) Com puc convertir un caràcter a una cadena a Java?
Resposta: Podem convertir un caràcter en una cadena mitjançant un mètode incorporat 'toString ()'.
Lectura suggerida => Com es converteix Caràcter a cadena a Java
A continuació es mostra el programa on hem utilitzat el mètode toString () per convertir un caràcter a una cadena.
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); } }
Sortida:

Q # 5) Escriviu un programa Java per comprovar si la cadena és un palíndrom o no (mitjançant StringBuffer).
Resposta: Podem utilitzar qualsevol programa invers de cadenes (il·lustrat més amunt) i després afegir una condició per comprovar si és palíndrom o no.
A continuació es dóna un exemple de programa.
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'); } }
Sortida:

Q # 6) Com invertir una cadena a Java paraula per paraula?
Resposta: Podeu invertir una cadena a Java (paraula per paraula) utilitzant el mètode incorporat Java String Split (). Tot el que heu de fer és passar espais en blanc amb el mètode Split ().
Consulteu l'exemple de programa següent.
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) + ' '); } } }
Sortida:

Q # 7) El StringBuilder és segur per a fils? Per què StringBuilder és més ràpid que StringBuffer?
Resposta: No, el StringBuilder no és sincronitzat ni protegit per fils. StringBuffer és apte per a fils. Per tant, el StringBuilder es considera més ràpid que el StringBuffer.
Conclusió
En aquest tutorial, hem après sobre el mètode Java String reverse () i les diverses tècniques mitjançant les quals podeu invertir una cadena.
A més, hem cobert prou preguntes freqüents i exemples de programació que us ajudaran a entendre el mètode reverse ().
=> Visiteu aquí per veure la sèrie d'entrenaments de Java per a tothom.
Lectura recomanada
- Inverteix una matriu a Java: 3 mètodes amb exemples
- Tutorial de cadenes de Java | Mètodes de cadena Java amb exemples
- Matriu de cadenes de Java: tutorial amb exemples de codi
- Java String amb buffer de cadenes i tutorial de Generador de cadenes
- Java String length () Mètode amb exemples
- Java String conté () Tutorial de mètode amb exemples
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- Mètode Java String compareTo amb exemples de programació