Java >> Tutoriel Java >  >> Tag >> String

Permuter les caractères dans String Java

Permuter les caractères dans String Java | Java fournit plusieurs méthodes intégrées pour échanger des caractères dans la chaîne, il a facilité les programmeurs en fournissant de telles méthodes. Voyons les différentes façons disponibles pour échanger des caractères dans une chaîne Java.

Exemple d'échange de caractères dans une chaîne Java :-

String str = "Know Program";
System.out.println(str);
System.out.println(swap(str, 6, str.length() - 2));

Sortie :-

Connaître Pr ogra m
Connaître Pa ogrr m

Observez l'extrait de code, il a échangé l'élément en 6ème position "r" avec l'élément en 10ème position "a" qui est la longueur de la chaîne - 2.

Ici, la fonction swap() est une fonction définie par l'utilisateur créé pour le confort de l'utilisateur. Nous allons voir les différentes manières d'écrire cette méthode swap() pour échanger des caractères dans la chaîne Java.

Comment échanger deux caractères dans une chaîne Java en utilisant toCharArray()

Pour échanger deux caractères dans une chaîne en Java nous pouvons utiliser le toCharArray() méthode disponible dans la classe Java String. Observez le code ci-dessous, l'échange se fait entre les premiers caractères de chaque mot qui est la 0ème position est échangé avec la 5ème position. ‘K’ est remplacé par ‘P’.

Programme pour échanger deux caractères dans une chaîne Java en utilisant la méthode toCharArray()

public class Main {
   public static char[] swap(String string, int i, int j) {
      char chr[] = string.toCharArray();
      char temp = chr[i];
      chr[i] = chr[j];
      chr[j] = temp;
      return chr;
   }

   public static void main(String args[]) {
      String str = "Know Program";
      System.out.println(str);
      System.out.println(swap(str, 0, 5));
   }
}

Sortie :-

Programme Know
Pnow Krogram

Échanger les caractères dans String Java en utilisant substring()

Maintenant, nous allons échanger deux caractères dans une chaîne en utilisant la méthode substring(). Comme nous le savons, la méthode substring() est une méthode intégrée à Java qui renvoie une sous-chaîne à partir de la chaîne donnée.

Programme pour échanger des caractères dans une chaîne Java en utilisant substring()

public class Main {
   public static String swap(String string, int i, int j) {
      if (j == string.length() - 1) {
         return string.substring(0, i) + string.charAt(j) + 
                string.substring(i + 1, j) + string.charAt(i);
      }

      return string.substring(0, i) + string.charAt(j) + 
             string.substring(i + 1, j) + string.charAt(i)+ 
             string.substring(j + 1, string.length());
   }

   public static void main(String args[]) {
      String str = "Know Program";
      System.out.println(str);
      System.out.println(swap(str, 0, 5));
   }
}

Sortie :-

Programme Know
Pnow Krogram

Échanger les caractères dans String Java à l'aide de StringBuilder

Comme nous savons que la chaîne est immuable, ce qui signifie que nous ne pouvons apporter aucune modification une fois qu'une chaîne est créée, à chaque modification, un nouvel objet String sera créé. Par conséquent, nous pouvons utiliser la classe StringBuffer ou StringBuilder pour modifier les éléments de chaîne. Voyons maintenant comment échanger des caractères dans une chaîne Java, nous allons utiliser la classe StringBuilder.

Programme pour échanger deux caractères dans une chaîne Java à l'aide de Stringbuilder

public class Main {
   static String stringSwap(String string, int i, int j) {
      StringBuilder sb = new StringBuilder(string);
      sb.setCharAt(i, string.charAt(j));
      sb.setCharAt(j, string.charAt(i));
      return sb.toString();
   }

   public static void main(String args[]) {
      String str = "Know Program";
      System.out.println(str);
      System.out.println(stringSwap(str, 0, 5));
   }
}

Sortie :-

Programme Know
Pnow Krogram

Observez que tout le code ci-dessus fonctionne de la même manière pour échanger des caractères dans une chaîne Java, mais les méthodes et fonctions utilisées sont différentes.


Balise Java