CS学生在这里。我希望能够获取诸如“2+2*3/2-2”之类的字符串并对其进行评估(= 3)。但我不确定如何构造代码以遵循正确的操作顺序。这是乘法和除法的代码:
int r = 1;
int n = 0;
char op = '*';
for (int i = 0; i < E.length(); i++)
if (E.charAt(i)=='*'||E.charAt(i)=='/')
{
if (op == '*')
r *= n;
else
r /= n;
n = 0;
op = E.charAt(i);
}
else
n = n*10 + (E.charAt(i)-'0');
if (op == '*')
r *= n;
else
r /= n;
return r;
谢谢阅读!