2016-08-09 6 views
-2

Ich möchte umgekehrte Wörter in einer Zeichenfolge. Ich bekomme keine richtige Ausgabe. Bitte hilf mir.Wie man Wörter in einer Zeichenfolge mit C# -Programmierung umkehrt?

Beispiel

  • input: Hello world
  • output: World Hello

Code:

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("Enter a string"); 
     string s1 = Console.ReadLine();   
     string s2 = ""; 
     int l = s1.Length; 

     for (int i = l - 1; i >= 0; i--) 
     { 
      s2 = s2 + s1[i]; 
     } 
     for (int i = 0; i<s2.Length; i++) 
     { 
      if (s2[i] == ' ') 
      { 
       for(int j=i;j>0 && s2[j]!=' ';j--) 
        Console.Write(s2[j1]); 
        Console.Write(" "); 
      } 
      else if (i == s2.Length - 1) 
      { 
       for (int j = i+1; j > 0 && s2[j] != ' '; j--) 
        Console.Write(s2[j]); 
       Console.Write(" "); 
      }     
     } 
    } 
} 
+0

Wenn jemand weiß, bitte helfen Sie mir –

+1

Nehmen Sie die Eingabe, teilen Sie die Zeichenfolge in einem Array Verwenden Sie den Raum als Trennzeichen und wiederholen Sie ihn dann von Ende zu Anfang. Einfach, oder? ;-) – Oscar

+1

Ich denke, es ist esier, wenn Sie die Zeichenfolge durch Leerzeichen aufteilen und dann das Ausgabe-Array umkehren – derape

Antwort

-1

einfach den Einbau-Linq Methode:

Console.WriteLine("Please input string"); 
string input = Console.ReadLine(); 
string reversed = string.Join(" " , input.Split(' ').Reverse()); 
+0

bemerkte nicht, dass Sie die Wortstellung und umzukehren wollten nicht die Charaktere. Behoben, es passt jetzt zu deinen Zielen. – MichaelThePotato

+0

es hilft mir wirklich –

+0

glücklich zu helfen! upvote mich, wenn es dir gefallen hat: D – MichaelThePotato

3

Easiest appraoch wäre das Wort an seinen Grenzen zu spalten und dann verwenden IEnumerable<T>.Reverse():

var words = myString.Split(' '); 
var result = words.Reverse(); 

Um sie alle in eine Zeichenfolge zu kombinieren:

var resultString = String.Join(" ", result); 

Der letzte Einzeiler:

var result = String.Join(" ", myString.Split(' ').Reverse()); 
+1

und dann String.Join ("", Ergebnis); um die Zeichenfolge – Ivan

+0

neu zu erstellen und es sollte 'words.Reverse()' sein. –

+1

@IvanSignore Yeap, aktualisiert. – HimBromBeere

Verwandte Themen