我分隔字符串表達式「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