我分隔字符串表达式“1加1减2加2减2减5加10”。收集字符串[]中的标记并开始编码术语。 1加1减去2 + 2减去2减5加10 = 5分割字符串并执行分隔字符串标记的计算C#
public int Calculate(string expression)
{
//TODO: implement this
if (string.IsNullOrEmpty(expression))
return 0;
//expression = "100 plus 100 minus 200";
string[] tokens = expression.Split();
int i= 0;
int result=0;
for (; i < tokens.Length;)
{
int a = 0;
int b = 0;
if (i < 1)
{
a = int.Parse(tokens[i]);
i++;
}
else if (i % 2 != 0 && tokens[i].ToString() == "plus")
{
i++;
b = int.Parse(tokens[i]);
a = result;
result = a + b;
i = i + 2;
}
if (tokens[i].ToString() == "plus")
{
i++;
b = int.Parse(tokens[i]);
result += a + b;
i = i + 2;
}
else if(i>1)
{
a = result;
b = int.Parse(tokens[i]);
result = a - b;
i=i+1;
}
else
{
i++;
//a = result;
b = int.Parse(tokens[i]);
result += a - b;
i++;
}
}
return result;
}
它计算出的一些基本的计算操作,但是提到串上面粘贴在operation.I需要通过执行计算从标记化字符串返回整数值 任何人都可以提出更好的解决方案吗?
你跟你的soluition有什么问题?它工作,如果没有,为什么不呢?它不会编译吗,它是否抛出异常,输出是错误的还是什么? – Servy
我竖起大拇指不知道你在做什么 – Jonesopolis
你是否通过调试代码?为什么我= i + 2:? – Paparazzi