2016-05-09 10 views
-4

私は、ユーザが名前(Aryah Starkなど)を入力し、いくつかのプログラムを書いて、Stark、Aryahとする必要があります。私のコードがなぜそんなに出てこないのか分かりません。私はリバースを知っている。配列メソッドが、私はそれを置くかどうかわからない。誰か助けてくれますか?C#を逆転させる名前

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("How many names do you want to enter? "); 
     string name = Console.ReadLine(); 
     int arraySize = Convert.ToInt32(name); 
     string[] LaName = new string[arraySize]; 
     Array.Reverse(LaName); 

     for (int i = 0; i < LaName.Length; i++) 
     { 
      Console.WriteLine("Enter last name"); 
      LaName[i] = Console.ReadLine(); 
     } 

     foreach (string val in LaName) 
     { 
      Console.WriteLine(val + "\t");     
     } 

     Console.ReadKey();    
    }   
} 
+0

このコードは、動作します。そのループのすべての反復でコンソールにwriteLINEを実行すると\ tを追加することは無意味です。タブは各行の終わりに見えなくなります。 _one_行でそれらを使用したい場合は、 'String.Join(...)'を調べることをお勧めします。 – Nyerguds

答えて

3

Array.Reverseは、一連の要素を逆にします。

例に基づいて、文字列内の単語を逆にすることです。したがって、Split文字列を単語に変換し、Array.Reverseを使用して配列を逆にします。

これらのソリューションのいずれかを試して、このロジックをforループ内に配置することができます(ユーザー入力を読み込んだ後)。

string[] words = LaName[i].Split(' '); 
Array.Reverse(words); 
LaName[i] = String.Join(" ", words); 

または単に(.NET 3.5およびaboeve)

LaName[i] =String.Join(" ", LaName[i].Split(' ').Reverse()); 

、あなたの名前の読み取り_after_逆転を置くかどうかをチェックし、このExample

+0

これは助けになりました!本当にありがとう。私はちょうどプログラミングで始まっています。私は逆の方法を使わなければならないことを知っていました。私は助けに感謝します。 – Jason

関連する問題