Je fais de la pratique pour C # et que le problème me demande de faire un programme qui inverse les mots. J'ai la réponse, mais dans ma recherche d'une solution, j'ai eu une sortie bizarre qui n'a pas de sens.
Ceci est le code qui mène à la sortie bizarre: p>
using System; namespace stars { public class Reverse { public void SpinWords(string sentence) { //Obtain the largest index in sentence int end_index = sentence.Length - 1; //Place letters backwards one-by-one to reverse string for (int i = end_index; i >= 0; i--) { string letter = sentence.Substring(i, 1); Console.Write(letter); } } } }
3 Réponses :
Ceci est le moyen d'inverser chaque caractère est comme ci-dessous:
var reversedWords = string.Join(" ", str.Split(' ') .Select(x => new String(x.Reverse().ToArray())));
Il n'y a pas de "meilleur" moyen, il y a de bonnes manières pour un contexte donné;)
D'accord. Merci. Mise à jour de ma réponse
Il y a deux raisons pour obtenir une large sortie numérique aléatoire.
premier fort>, vous concatéez le second strong>, vous imprimez la sortie à l'intérieur de la boucle pour la boucle em>, qui produira une sortie répétitive pour chaque concaténation. p> Les éléments suivants doivent fonctionner comme prévu P> Rev_Sentence code> avec Index strong>, qui devrait être remplacé par la lettre
lettre code>. p>
for (int i = end_index; i >= 0; i--)
{
string letter = sentence.Substring(i, 1);
rev_sentence = string.Concat(rev_sentence, letter);
}
Console.Write(rev_sentence);
Pouvez-vous partager l'exemple d'entrée et la sortie que vous obtenez? Et quelle est la production attendue?
Rev_Sentence = string.concat (Rev_Sentence, I); Code> Concatéenates
Rev_Sentence code> &
i code>. Vous ne faites que concaténer votre variable de contrôle de boucle et imprimer le résultat chaque itération de la boucle. Cela devrait vouloir dire que le résultat n'est pas aléatoire, par exemple.
spin words ("résultat"); code> devrait imprimer "554543543254321543210"
Notez que, pour inverser correctement une chaîne, les paires de substituts de substitution et la combinaison de la chaîne Unicode doivent être regroupées correctement et inversées en une seule unité, laissant la commande dans le groupe inchangé. Pour ce faire, voir Cette réponse à Meilleure façon d'inverser une chaîne .