Maison  >  Article  >  Java  >  Échangez les mots du coin et inversez les caractères du milieu

Échangez les mots du coin et inversez les caractères du milieu

王林
王林avant
2023-08-21 08:49:06545parcourir

Échangez les mots du coin et inversez les caractères du milieu

Dans cet article, nous allons nous plonger dans un problème fascinant de manipulation de chaînes qui consiste à échanger les mots de coin d'une chaîne et à inverser les caractères du milieu. Ce type de problème est assez courant dans les interviews de codage, et c'est un excellent moyen de l'améliorer. votre compréhension de la manipulation de chaînes en Java.

Java fournit une multitude d'outils de manipulation de chaînes. Des opérations de concaténation et de comparaison de base aux tâches plus complexes telles que l'inversion et l'échange de chaînes, l'API String de Java peut tout gérer. Un problème intéressant consiste à échanger le premier et le dernier mot d’une chaîne et à inverser les caractères du milieu. Ce problème peut être résolu en combinant les méthodes String intégrées à Java avec une logique manuelle.

Énoncé du problème

Étant donné une chaîne, nous devons échanger le premier et le dernier mot et inverser l'ordre des caractères du milieu, en gardant les premier et dernier caractères de la chaîne inchangés.

Méthode

La stratégie pour résoudre ce problème est simple −

  • Divisez la chaîne d'entrée en mots.

  • Échangez le premier et le dernier mot.

  • Inversez l'ordre des caractères du milieu tout en gardant le premier et le dernier caractère de la chaîne dans leur position d'origine.

  • Recombinez des mots en chaînes.

Exemple

Vous trouverez ci-dessous une fonction Java qui implémente l'approche décrite ci-dessus −

import java.util.*;

public class Main {
   public static String swapAndReverse(String input) {
      String[] words = input.split(" ");
      
      // Swap the first and last words
      String temp = words[0];
      words[0] = words[words.length - 1];
      words[words.length - 1] = temp;
      
      // Reverse the middle characters of the string, leaving the first and last characters intact
      for(int i = 0; i < words.length; i++) {
         if(words[i].length() > 2) {
               String middleCharacters = words[i].substring(1, words[i].length() - 1);
               String reversedMiddleCharacters = new StringBuilder(middleCharacters).reverse().toString();
               words[i] = words[i].charAt(0) + reversedMiddleCharacters + words[i].charAt(words[i].length() - 1);
         }
      }
      
      // Join the words back into a string
      return String.join(" ", words);
   }
   
   public static void main(String[] args) {
      System.out.println(swapAndReverse("Hello world this is Java"));
   }
}

Sortie

Jvaa wlrod tihs is Hlleo
La traduction chinoise de

Explication

est :

Explication

Testons notre fonction avec la chaîne "Hello world this is Java".

Les mots de la chaîne sont ["Hello", "world", "this", "is", "Java"]. Après avoir échangé le premier et le dernier mot, nous obtenons ["Java", "world", "this". ", " est ", " Bonjour "].

Ensuite, nous inversons les caractères du milieu de chaque mot, en excluant le premier et le dernier caractères, ce qui donne ["Jvaa", "wlrod", "tihs", "is", "Hlleo"].

Enfin, nous rejoignons les mots dans une chaîne : "Jvaa wlrod tihs is Hlleo".

Donc, la sortie de swapAndReverse("Hello world this is Java") est "Jvaa wlrod tihs is Hlleo".

La fonction swapAndReverse fonctionne correctement et il est évident qu'elle échange avec précision les mots de coin et inverse les caractères du milieu dans la chaîne donnée.

Nous espérons que cet exemple clarifie le fonctionnement de la fonction.

Conclusion

Java offre une grande variété d'outils pour manipuler les chaînes, ce qui le rend idéal pour résoudre des problèmes tels que l'échange de mots de coin et l'inversion des caractères du milieu dans une chaîne.🎜 La maîtrise de ces compétences vous sera très utile dans les entretiens de codage et dans vos tâches de programmation quotidiennes.🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer