gpt4 book ai didi

c# - 知道为什么这个计算器控制台应用程序不起作用吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:27 25 4
gpt4 key购买 nike

所以我一直在发展我关于如何编写计算器的想法,但我每次都收到未处理的异常,但代码没有出现任何错误,在多次阅读代码后我不确定是什么出问题了。

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.###"));
}

最佳答案

你什么也看不到,因为代码抛出异常并且在没有告诉你任何事情的情况下完成,但如果你调试代码,你可以检测到它;)

the code does not present any errors

代码没有编译错误,但您的代码在运行时产生错误

因为这一行你有一个异常

Console.WriteLine("{0}+{2}={3}", num1, num2, ans.ToString("0.###"));

{0}+{2}={3} 必须是 {0}+{1}={2}

因为它们是

定义的数组中的索引
num1, num2, ans.ToString("0.###")

关于c# - 知道为什么这个计算器控制台应用程序不起作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40043658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com