私は電卓を書く方法について私のアイデアを開発してきましたが、毎回未処理の例外を残していますが、コードにエラーはありません。コードを何度も読んだ後、間違っている。この電卓コンソールアプリケーションが動作しない理由は何ですか?
コードが例外をスローし、あなたには何も告げず終了取得されていますが、あなたがコードをデバッグする場合ことを検出する可能性があるため、あなたは何も見えないstring inp;
int location;
double num1, num2, ans;
string[] ops = {"+", "-", "*", "/" };
Console.WriteLine("Calculator");
Console.WriteLine("Enter a Calculation.");
inp = Console.ReadLine();
if (inp.Contains(ops[0]))
{
location = inp.IndexOf("+");
num1 = double.Parse(inp.Substring(0, location));
num2 = double.Parse(inp.Substring(location +1));
ans = num1 + num2;
Console.WriteLine("{0}+{2}={3}", num1, num2, ans.ToString("0.###"));
}
else if (inp.Contains(ops[1]))
{
location = inp.IndexOf("-");
num1 = double.Parse(inp.Substring(0, location));
num2 = double.Parse(inp.Substring(location +1));
ans = num1 - num2;
Console.WriteLine("{0}-{2}={3}", num1, num2, ans.ToString("0.###"));
}
else if (inp.Contains(ops[2]))
{
location = inp.IndexOf("*");
num1 = double.Parse(inp.Substring(0, location));
num2 = double.Parse(inp.Substring(location +1));
ans = num1 * num2;
Console.WriteLine("{0}*{2}={3}", num1, num2, ans.ToString("0.###"));
}
else if (inp.Contains(ops[3]))
{
location = inp.IndexOf("/");
num1 = double.Parse(inp.Substring(0, location));
num2 = double.Parse(inp.Substring(location +1));
ans = num1/num2;
Console.WriteLine("{0}/{2}={3}", num1, num2, ans.ToString("0.###"));
}
デバッガで実行しようとしましたか? –
はい私は何も見せていません – Pavvel
あなたはそれがうまくいかないという意味ですか?どのような例外がスローされますか?どのようなコード行が例外をスローしますか?また、サンプル入力を添付し、期待される結果 – Rumpelstinsk