2

ユーザーが1行に任意の数の文字(文字列)を書き、「Enter」をクリックした後、次の行に移動するなどのWindowsコンソールアプリケーションを実行しようとしています。ユーザーがコンソール「showme」に書き込むと、彼が表示されます。情報:行番号とこの行の文字列の文字数(画像)。コンソールを閉じる「終了」機能もあるはずですが、それはすでに完了しています。私の質問は、ユーザー文字列で入力されたものを保存し、そのような情報を使用して「show」から呼び出す方法です(配列で試しました)

私はこのようなことをしましたが、まったく機能しません。

 class Text
  {
    static void Main(string[] args)
    {
        Boolean endless = true;
        ArrayList array = new ArrayList();
        String s;

        while (endless)
        {
            if(Console.ReadLine() == "showme")
            {
                Console.WriteLine("--------------");
            }
            if(Console.ReadLine() == "end")
            {
                Environment.Exit(0);
            }
                s = Console.ReadLine() + "\n";
                array.Add(s);
        }

        s = Console.ReadLine();
    }
}

出力

4

2 に答える 2

2

いくつかのこと:

List<>vsの使用を検討してくださいArrayList(オプション)

Console.ReadLine()また、ループの外側にあるため、の値を ArrayList に追加することはありません。

static void Main(string[] args)
{
    // Consider using a list instead of an ArrayList (optional)
    List<string> lines = new List<string>();

    while (true)
    {
        string input = Console.ReadLine();

        if (input == "showme")
        {
            // Here we print each string and stats.
            foreach (string s in lines)
            {
                Console.WriteLine(s); // Write the line.
                Console.WriteLine("{0} contains {1} letters", s, s.Length); // Write the stats.
            }
        }
        else if (input == "end")
        {
            Environment.Exit(0);
        }
        else
        {
            // This is where you add your input string to the collection above.
            lines.Add(input);
        }
    }
}
于 2013-01-24T22:36:37.417 に答える
0

試すことができますか:

        if(Console.ReadLine() == "showme")
        {
            Console.WriteLine("--------------");
            for(int i =0; i < array.count; i++)
            {
                Console.WriteLine("Index["+i+"]+" "+array[i]);
            }
        }
于 2013-01-24T22:39:27.167 に答える