Maison >Java >javaDidacticiel >É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.
É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.
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.
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")); } }
Jvaa wlrod tihs is HlleoLa traduction chinoise de
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.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!