Comment faire une chaîne inversée en Java?

Publié: 2023-01-06

Une chaîne est une séquence de caractères et est traitée comme un objet en Java. C'est un objet en Java qui stocke les données dans un tableau de caractères. Une chaîne qui est inversée est appelée une chaîne inversée. Par exemple, l'inverse de la chaîne 'program' est 'margorP'.

Table des matières

La logique derrière l'inversion de chaîne en Java :

Différentes manières sont disponibles pour inverser une chaîne, chacune utilisant des fonctions distinctes. Bien que les méthodes utilisées soient différentes, le processus fondamental derrière l'inversion de chaîne est presque le même. La logique typique utilisée est la suivante :

  • Saisissez une chaîne à l'aide de la saisie utilisateur ou dans le code.
  • Prenez les caractères de la chaîne en commençant par la dernière position et enregistrez-les dans n'importe quelle variable.
  • Affichez la sortie.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Diverses méthodes pour inverser la chaîne en Java :

  1. Utiliser StringBuffer ou StringBuilder
  2. Utilisation de l'itération inverse
  3. Utilisation de la méthode charAt()
  4. Utilisation de l'objet ArrayList
  5. Utilisation de la récursivité
  6. Convertir une chaîne en octets
  7. Utilisation de la pile

Passons en revue chacune de ces méthodes en détail.

Cours et articles populaires sur le génie logiciel

Programmes populaires
Programme exécutif PG en développement de logiciels - IIIT B Programme de certificat Blockchain - PURDUE Programme de certificat de cybersécurité - PURDUE MSC en informatique - IIIT B
Autres articles populaires
Salaire d'ingénieur cloud aux États-Unis 2021-22 Salaire d'AWS Solution Architect aux États-Unis Salaire d'un développeur backend aux États-Unis Salaire de développeur front-end aux États-Unis
Salaire de développeur web aux Etats-Unis Questions d'entretien de Scrum Master en 2022 Comment démarrer une carrière dans la cybersécurité en 2022 ? Options de carrière aux États-Unis pour les étudiants en génie

1. Par StringBuilder / StringBuffer

La classe StringBuffer ou StringBuilder a une méthode intégrée reverse() qui inverse les caractères de la chaîne. Il substitue la séquence des caractères dans l'ordre inverse. Cette méthode est la méthode statique qui implémente la logique pour inverser la chaîne en Java .

StringBuffer et StringBuilder sont deux classes utilitaires en Java qui gèrent l'allocation des ressources des manipulations de chaînes.

Utilisation de StringBuffer :

Programme Java qui inverse une chaîne à l'aide de StringBuffer :

classe publique ExampleofReverseString{

public static void main(String[] args) {

Chaîne str1 = "Pomme" ;

//stocke l'ordre inversé des chaînes dans la variable rev

Chaîne rev = new StringBuffer(str1).reverse().toString();

// imprime la chaîne avant l'inverse

System.out.println("\La chaîne avant l'inversion est : "+str1);

// imprime la chaîne après l'inverse

System.out.println("La chaîne après inversion est : "+rev);

}

}

Sortir:

La chaîne avant l'inversion est : Apple

La chaîne après inversion est : elppA

Dans l'exemple ci-dessus, la chaîne fournie en entrée serait mise en mémoire tampon à l'aide de StringBuffer. Il serait alors inversé en utilisant la méthode reverse(). Une fois le tampon inversé, il serait converti en chaîne à l'aide de la méthode toString().

Utilisation de StringBuilder :

La classe StringBuilder est hautement préférée par rapport à la classe StringBuffer. C'est plus rapide et non synchronisé.

Programme Java qui inverse une chaîne à l'aide de StringBuilder :

classe publique ExampleofReverseString{

public static void main(String[] args) {

Chaîne str1 = "École" ;

//stocke la chaîne inversée dans la variable rev

Chaîne rev = new StringBuilder(str1).reverse().toString();

// imprime la chaîne avant l'inverse

System.out.println("\nChaîne avant d'inverser : "+str1);

// imprime la chaîne après l'inverse

System.out.println("Chaîne après inversion : "+rev);

}

}

Sortir:

Chaîne avant d'inverser : École

Chaîne avant d'inverser : loohcS

Dans le code ci-dessus, l'objet de la classe StringBuilder est utilisé. Les objets StringBuilder correspondants sont économes en mémoire, modifiables et rapides à exécuter. L'objet appelle la méthode intégrée reverse() pour fournir la sortie souhaitée.

2. Par itération inverse

Programme Java qui inverse une chaîne en utilisant l'itération inverse :

public class StringReversal {

chaîne statique publique reverseString(String st){

char ch[]=st.toCharArray();

Chaîne rev=””;

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

{

rev+=ch[i] ;

}

retour tour ;

}

}

classe publique TestStringReversal {

public static void main(String[] args) {

System.out.println(StringReversal.reverseString("Je suis enseignant") );

System.out.println(StringReversal.reverseString("J'enseigne l'anglais"));

}

}

Sortir:

je vais rehcaet

Je hcaet hsilgnE tcejbus

Dans le programme ci-dessus pour la chaîne inverse en java , les caractères de la chaîne d'entrée sont stockés dans la variable rev+ à partir de la dernière position en utilisant la boucle for. La chaîne inversée sera affichée dans la sortie une fois tous les caractères stockés.

Vous pouvez utiliser While Loop pour l'itération inverse, et son code est le suivant :

public class StringReversal {

public static void main(String[] args)

{

String stringInput = "Cette chaîne" ;

int StrLength=stringInput.length();

tandis que(StrLength >0)

{

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

StrLength– ;

}

}

}

Sortir:

gnirts sihT

3. Utilisation de la méthode charAt()

Son programme Java est comme ci-dessous :

classe publique ExampleofReverseString {

public static void main(String[] args) {

Chaîne str = "Apprendre Java" ;

//stocke la chaîne inversée dans la variable revv

chaîne revv = "" ;

//la longueur de la chaîne sera stockée dans len

int len=str.length();

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

revv = revv + str.charAt(i);

// imprime la chaîne avant l'inverse

System.out.println("\nChaîne avant l'opération d'inversion : "+str);

// imprime la chaîne après l'inverse

System.out.println("Chaîne après inversion : "+ revv);

}

}

Sortir:

Chaîne avant l'opération d'inversion : Apprendre Java

Chaîne avant opération d'inversion : avaJ nraeL

Dans ce programme Java pour inverser une chaîne , les caractères de la chaîne d'entrée sont stockés dans la variable revv à partir de la dernière position à l'aide de la boucle for. Une fois tous les caractères stockés, la chaîne inversée sera reflétée dans la sortie.

4. Utilisation de l'objet ArrayList

Son programme Java est comme ci-dessous :

importer java.util.ArrayList ;

importer java.util.Collections ;

importer java.util.List ;

importer java.util.ListIterator ;

classe publique ExampleofReverseString {

public static void main(String[] args) {

String str = "Profitez du codage" ;

//convertit la chaîne d'entrée en un tableau de caractères

char ch[]=str.toCharArray();

// ajoute un tableau de caractères à l'objet de la ArrayList

List<Caractère> obj = new ArrayList<>();

pour (car c: ch)

obj.add(c);

//passe l'objet de ArrayList aux collections

Collections.reverse(obj);

// crée un objet de listiterator à répéter sur la liste

ListIterator objnew = obj.listIterator();

// imprime la chaîne avant l'inversion

System.out.println("\nChaîne avant opération d'inversion : "+ str);

// imprime la chaîne après inversion

System.out.println("\nChaîne après opération d'inversion : ");

tandis que (objnew.hasNext())

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

}

}

Sortir:

Chaîne avant opération d'inversion : profitez du codage

Chaîne après opération d'inversion : gnidoc yojnE

Ce programme Java pour inverser une chaîne stocke les caractères de la chaîne d'entrée dans l'objet ArrayList. Il est inversé en utilisant la méthode reverse() dans les collections. L'itérateur parcourt la liste et imprime la chaîne inversée après son inversion.

5. Utiliser la récursivité

Son programme Java est comme ci-dessous :

classe publique ExampleofReverseString {

// définit la fonction d'inversion

Chaîne revs(String str) {

// renvoie null si la longueur de la chaîne est nulle

if(str.length() == 0)

{

revenir " ";

}

// sinon renvoie le caractère résultant de la méthode suivante

return str.charAt(str.length()-1) + revs(str.substring(0,str.length()-1));

}

public static void main(String[ ] args)

{

// crée un objet de classe

ExampleofReverseString r = new ExampleofReverseString ();

//saisit la chaîne

String str = "Maîtriser en Java" ;

// imprime la chaîne avant l'inversion

System.out.println("\nChaîne avant opération d'inversion : "+ str);

// imprime la chaîne après inversion

System.out.println("\nString après l'opération d'inversion : " + r.revs(str));

}

Sortir:

Chaîne avant opération d'inversion : maître en Java

Chaîne après opération d'inversion : avaJ ni retsaM

Une fonction récursive est générée dans ce programme Java. Il vérifie la longueur de la chaîne et dix inversions. Cela fonctionne de la même manière que la fonction reverse en java .

6. Par conversion d'une chaîne en octets

Il utilise la méthode getBytes() qui convertit ou divise la chaîne d'entrée en octets. À ce moment, la longueur du tableau d'octets est égale à la longueur de la chaîne d'entrée. Le programme récupère ensuite les octets dans l'ordre inverse et les enregistre dans un nouveau tableau d'octets.

Dans le code suivant, un tableau d'octets est généré temporairement. Des tableaux à deux octets sont créés - un pour stocker les octets convertis et un autre pour enregistrer le résultat dans l'ordre inverse.

Son programme Java est comme ci-dessous :

public static void main(String[] arg) {

valeur d'entrée de chaîne = "Ordinateur" ;

byte[] strByteArray = inputvalue.getBytes();

byte[] result = new byte[strByteArray.length] ;

// Stocke le résultat dans l'ordre inverse dans le résultat byte[]

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

result[i] = strByteArray [strByteArray.length – i – 1] ;

System.out.println( "String after reverse operation is:" +new String(result));

}

Sortir:

La chaîne après l'opération inverse est : retumoC

7) Utiliser la pile

Cette méthode implique les étapes suivantes pour inverser une chaîne Java à l'aide de la structure de données Stack.

  1. Créez une pile sans caractères.
  2. Transformez une chaîne d'entrée en tableau de caractères à l'aide de la méthode String.toCharArray(). Par la suite, il ajoute chaque caractère à la pile.

iii. Récupérez les caractères de la pile jusqu'à ce qu'elle soit vide, puis affectez à nouveau les caractères dans un tableau de caractères. Donc, maintenant, les personnages arriveront dans l'ordre inverse.

  1. Le tableau de caractères est converti en chaîne à l'aide de String.copyValueOf(char[]) et renvoie finalement la nouvelle chaîne.

Son programme Java est comme ci-dessous :

importer java.util.Stack ;

classe principale

{

public static String reverse(String str)

{

// vérifie si la chaîne est vide ou nulle

if (str == null || str.equals(“”)) {

retour str;

}

// génère une pile vide de caractères

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

// ajoute tous les caractères de la chaîne d'entrée dans la pile

char[] ch = str.toCharArray();

pour (int je = 0; je < str.length(); je++) {

pile.push(ch[i]);

}

// commence à partir de l'index 0

entier m = 0 ;

// récupère les caractères de la pile jusqu'à ce qu'elle soit vide

tandis que (!stack.isEmpty())

{

// attribue chaque caractère récupéré au tableau de caractères

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

}

// transforme le tableau de caractères en chaîne et le renvoie

return String.copyValueOf(ch);

}

public static void main(String[] args)

{

String str = « Innovation technologique » ;

chaîne = inverse(chaîne);

System.out.println(“L'inverse de la chaîne d'entrée : ” + str);

}

}

Sortir

L'inverse de la chaîne d'entrée : ygolonhceT noitavonnI

Commencez votre parcours Java avec UpGrad

Si vous voulez apprendre Java, vous devez comprendre les concepts de Core Java. Pour cela, vous pouvez poursuivre le Master of Science en informatique d'UpGrad . Il couvre des sujets tels que Core Java, les concepts OOPS, les objets et les classes en Java, les méthodes en Java, la machine virtuelle Java, le polymorphisme, l'héritage, l'abstraction, l'encapsulation, etc. Vous obtiendrez des conseils d'experts de l'industrie. Ces experts organisent des sessions interactives en direct qui couvrent le programme et des sujets avancés.

Quel est le moyen le plus simple d'inverser une chaîne en Java ?

Le moyen le plus simple d'inverser une chaîne en Java consiste à utiliser la classe StringBuffer. Il prend en charge une méthode appelée reverse() qui inverse le contenu de l'objet StringBuffer existant et renvoie l'objet StringBuffer de sortie.

Qu'est-ce que la méthode récursive en Java ?

Une méthode qui s'appelle elle-même est appelée une méthode récursive en Java. Le processus correspondant est appelé récursivité.

Quelles sont les applications de String en Java ?

En Java, les chaînes peuvent être utilisées pour détecter le plagiat dans les codes. Ils peuvent être utilisés pour le codage et le décodage pour un transfert de données sécurisé de l'expéditeur au destinataire. Les applications de chaîne vous aident à récupérer des informations à partir de sources de données anonymes. De plus, Strings et ses applications d'algorithmes vous fournissent des filtres améliorés pour résoudre le problème de chevauchement approximatif suffixe-préfixe.