英语翻译publicdoubleCalculator(Stringf)//计算{inti=0,j=0,k;charc;StringBuffers=newStringBuffer();s.append(f);s.append('=');Stringformula=s.toString();//转化为string类型char[]anArray;anArray=newchar[50];Stackmystack=newStack();w
英语翻译
publicdoubleCalculator(Stringf)//计算
{
inti=0,j=0,k;
charc;
StringBuffers=newStringBuffer();
s.append(f);
s.append('=');
Stringformula=s.toString();//转化为string类型
char[]anArray;
anArray=newchar[50];
Stackmystack=newStack();
while(formula.charAt(i)!='=')
{
c=formula.charAt(i);
switch(c)
{
case'+':
case'-':
while(!mystack.empty()&&mystack.peek().charValue()!='/')
{
anArray[j++]=mystack.pop().charValue();
}
mystack.push(newCharacter(c));
i++;
break;
case'*':
case'/':
while(!mystack.empty()&&(mystack.peek().charValue()=='*'||mystack.peek().charValue()=='/'))
{
anArray[j++]=mystack.pop().charValue();
}
mystack.push(newCharacter(c));
i++;
break;
default:while((c>='0'&&c