Comment faire une chaîne inversée en Java?
Publié: 2023-01-06Une 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 :
- Utiliser StringBuffer ou StringBuilder
- Utilisation de l'itération inverse
- Utilisation de la méthode charAt()
- Utilisation de l'objet ArrayList
- Utilisation de la récursivité
- Convertir une chaîne en octets
- 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.
- Créez une pile sans caractères.
- 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.
- 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.