2016-11-16 5 views
0

私は、配列のためにintに文字列からユーザーの入力を変換するために、その後、次の文字列配列 文字列配列に含まれる要素の数を決定するには、どのようにユーザー入力を取得しますか?

  • になりますどのように多くの要素を決定するユーザー入力を取得最初

    1. への道を見つけるのに苦労しています
    2. Console.WriteLine(1. StringName 2.StringName);

    これは私のコードです....また、そのような文字列の要素と一緒に要素番号を表示する方法があります

  • +0

    「string numberOfCountries = Console.ReadLine();」があるとしますか? –

    +0

    問題が解決した場合は、受け入れられた回答(小さなチェックマーク)として役立つ回答に印を付け、アップヴォートを付けます。 – NikxDa

    +0

    'List 'を使い、リストを完成させるために空白の入力を求める方が簡単で簡単です。 –

    答えて

    1

    あなたはこのように、配列のサイズを作成するときに変数を置くことができ、次の文字列配列

    になりますどのように多くの要素を決定するユーザー入力を取得:

    string[] nameOfCountries = new string[someVariable]; 
    

    someVariableintである必要があります。 Console.WriteLineは文字列を返すので、文字列をintに解析する必要があります。これにはint.Parseを使用できます。だから、:正しく整数への入力を解析できない場合Parseが例外をスローすることを

    int numberOfCountries = int.Parse(Console.ReadLine()); 
    string[] nameOfCountries = new string[numberOfCountries]; 
    

    注意。

    もあなたは配列に値を代入しているときにあるような同様のループを使用することができ、文字列要素

    と一緒に要素番号を表示する方法があります。

    Console.WriteLine("{0}: {1}", i, nameOfCountries[i]); 
    
    +0

    ああ、ありがとう。本当に良い説明。 –

    +0

    書くとき string [] nameOfCountries =新しい文字列[someVariable]; エラーCS0029で私にメッセージを表示し、intを文字列に変換できません これを解決する方法はありますか? –

    +0

    @ keanu.b私のコード例では間違いがありました。編集の詳細については、[こちらをご覧ください](http://stackoverflow.com/posts/40643944/revisions)を参照してください。 – vcsjones

    0

    プログラム:

    string mate = "mate"; 
    
    Console.WriteLine($"How many countries you want {mate}?"); 
    string numberOfCountries = Console.ReadLine(); 
    int numberOfCountriesInt; 
    while (!int.TryParse(numberOfCountries, out numberOfCountriesInt)) 
    { 
        mate = mate.Insert(1, "a"); 
        Console.WriteLine($"How many countries you want {mate}?"); 
        numberOfCountries = Console.ReadLine(); 
    
    } 
    
    Console.WriteLine("Please name your countries "); 
    string[] namesOfCountries = new string[numberOfCountriesInt]; 
    
    for (int i = 0; i < namesOfCountries.Length; i++) 
    { 
        namesOfCountries[i] = Console.ReadLine(); 
    } 
    
    for (int i = 0; i < namesOfCountries.Length; i++) 
    { 
        Console.WriteLine($"{i+1}, {namesOfCountries[i]}"); 
    } 
    

    出力:

    How many countries you want mate? 
    Two 
    How many countries you want maate? 
    Two? 
    How many countries you want maaate? 
    2 
    Please name your countries 
    Stralya 
    PNG 
    1. Stralya 
    2. PNG 
    

    List<string>は、このようなデータを格納する方が良い場合がありますのでご了承ください。それでは、次のようなことをすることができます:

    Console.WriteLine("Please name your countries "); 
    var namesOfCountries = new List<string>(); 
    for (int i = 0; i < numberOfCountriesInt; i++) 
    { 
        namesOfCountries.Add(Console.ReadLine()); 
    } 
    
    関連する問題