【发布时间】:2013-03-22 13:07:06
【问题描述】:
我有一个包含 5 个数字的小数类型列表:{10, 9, 100,73,3457}。我在这些数字之间还有另外 4 个字符串类型运算符的列表:* 乘法 - 减法 / 除法 + 加法。
我怎样才能得到字符串的结果?我不知道如何强加运算符优先级。
10 * 9 - 100 / 73 + 3457 = ???
这是我的代码,我以完全错误的方式处理问题,应该怎么做?
static List<decimal> numbers = new List<decimal>();
static List<string> operators = new List<string>();
foreach (decimal number in numbers)
{
foreach (string operatorz in operators)
{
resultnumber =
}
}
【问题讨论】:
-
你真的需要计算 20 次的结果,还是循环可选?
-
谷歌“skeet misc 实用程序” - 隐藏在其中的一个奇妙的数学运算符库可以很好地与通用概念配合使用。可能无法解决您的问题,但绝对“有用”。
-
程序员应该使用这样的库或现成的工具:stackoverflow.com/questions/4620437/… 如果你想自己编写胆量,你必须研究这里定义的一些算法:stackoverflow.com/questions/1437964/…,询问对于堆栈溢出来告诉您键入哪些字母违背了练习的目的,您可能根本不这样做。结果是一样的。
-
这个练习有什么意义?您是否正在尝试学习如何构建解析器?