我在写个自动计算4张牌到24点的程序。可以将运算符用像变量一样表示吗?
char[] Count = new char[4] { '+', '-', '*', '/' };怎么做才能这样操作: 5Count[1]4==1; --------------------编程问答-------------------- 我卡死在这里了,没有高手指点下哇!!! --------------------编程问答-------------------- 最好不要用switch因为这题很复杂的 --------------------编程问答-------------------- 我也遇到同样问题 大哥 --------------------编程问答-------------------- 你说的是枚举吧?
没搞懂你的意思 --------------------编程问答-------------------- 我也遇到这个问题了,卡死啊....上天啊 --------------------编程问答-------------------- 方法一:动态编译,动态编译一个函数,内部方法就是你自己写的算法字符串,然后调用,看返回结构是否为24点。
方法二:使用JScript的Eval类来计算:
命名空间: Microsoft.JScript
程序集: Microsoft.JScript(在 Microsoft.JScript.dll 中)
public sealed class Eval : AST
方法 JScriptEvaluate(Object, VsaEngine) 使用指定的引擎计算指定的 JScript 代码。
方法三:DataTable中也有个Compute方法。 --------------------编程问答-------------------- 如果是 VF 有宏代换就是可以的。
我早以前做个一个打扑克的程序,也遇到类似的问题,经过大量的研究,最后发现,还是要用 switch。
不要觉得麻烦,如果你写的逻辑清晰,那么即使代码长,也不会觉得很混乱,相反还简化了很多问题。
另外,如果真的有类似问题的解决方法,我也想知道呢。
--------------------编程问答-------------------- 4张牌,不加括号的情况下:
有A44种,再加上之间的操作符4^3;
总共有A44*4^3种可能 --------------------编程问答--------------------
从业务出发,不可能忽视括号。 --------------------编程问答--------------------
你这个是新发明的下一代数学表示法,我表示不理解,无法。
举个例子: (6+6)*(8/4) 怎么个表示法? --------------------编程问答--------------------
object result = new DataTable().Compute(string.Concat("5", Count[1], "4"), "");
补充:.NET技术 , C#