java输入公式的代码 java如何输入数学公式( 三 )


}
/*按优先级处理其java输入公式的代码他运算符java输入公式的代码,若当前运算符优先级较高
* 直接入栈java输入公式的代码 , 否则将栈中运算符出战直至栈顶运算符
* 低于当前运算符
*/
preOptr=optrStack.lastElement();
if(optrCmp(optr,preOptr)0){
optrStack.push(optr);
}else{
while(!preOptr.equals("(")
!optrStack.isEmpty()
optrCmp(optr,preOptr)=0){
preOptr=optrStack.pop();
if(!preOptr.equals("^")){
rpnList.add(preOptr);
}
}
optrStack.push(optr);
}
}
/**
* 运算符优先级比较函数,optr1优先级大于optr2返回小于0值,
* 优先级相等返回0,optr1小于optr2返回大于0值.
* @param optr1
* @param optr2
* @return
*/
public static int optrCmp(String optr1,String optr2){
int order1=optrOrder.get(optr1);
int order2=optrOrder.get(optr2);
return order1-order2;
}
/**
* 根据运算符对数据栈中的内容进行操作.
* @param optr
* @param numStack
*/
public static voiddoCalcByOptr(String optr,
StackDouble numStack){
double n1,n2;
n2=numStack.pop();
n1=numStack.pop();
if(optr.equals("+")){
numStack.push(n1+n2);
}else if(optr.equals("-")){
numStack.push(n1-n2);
}else if(optr.equals("*")){
numStack.push(n1*n2);
}else if(optr.equals("/")){
numStack.push(n1/n2);
}else if(optr.equals("%")){
numStack.push(n1%n2);
}
}
}
【java输入公式的代码 java如何输入数学公式】java输入公式的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java如何输入数学公式、java输入公式的代码的信息别忘了在本站进行查找喔 。

推荐阅读