私は、複数の数字を入力して文字列を式として読み取るコンソール電卓を構築しています。正規表現のない文字列からの複数の数字
例:
string inputNumber = "190+154+114"
double[] number = new double[5];
私はこのようになりたい:
number[0] = 190;
number[1] = 154;
number[2] = 114;
私は図書館があることを知っているが、それにやるが、私は看板を読み、どのように理解したいですその番号を配列に入れます。
私が考えることができるのは、文字列を単一の文字として読み取ることです。次に、「+」文字を見つけると、文字として次の数字をcharacter!="null" || character=='+'
まで読み込みます。しかし、問題は私がコードに変換する方法を知らないということです。
============================================== ========================== EDIT
私は答えを読んで、本当に面白いと感じました。しかし、演算子記号が挿入されたときに新しい文字列を作成するにはどうすればよいですか?
例:オペレータが入力されたとき、新しい文字列は次のようにする必要がありので
string inputNumber = string.Empty;
string[] number = new string[20];
//Input number
Console.WriteLine("enter a number"); //190+155+220
inputNumber = Console.ReadLine();
ので、どのように、文字列を取得します:
number[0] = "190";
number[1] = "155";
number[2] = "220";
は、それは+常にありますか?私は+が実際にサインですエンコーディングのこの種のを見てきましたし、あなたが得ることができます - だけでなく、負の数のために –
あなたはまた、オペレータを保存すると、その後の数学をしますか?そして、かっこを受け入れ、演算子の優先順位を強制しますか? –
あなたがしようとしていることを明確にすることはできますか? 「+」文字で区切られた数字を分割しようとしているのですか?「1024/16 *(7 + 3)」のような算術式を評価しようとしていますか?後者の場合は、[パーサの書き方](http://stackoverflow.com/questions/7377344/)を参照してください。 –