Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的中缀前缀数学表达式转换器_Java_Math_Expression_Prefix - Fatal编程技术网

Java中的中缀前缀数学表达式转换器

Java中的中缀前缀数学表达式转换器,java,math,expression,prefix,Java,Math,Expression,Prefix,我试图编写一个方法,将中缀转换为前缀数学表达式,并使用堆栈来实现这一点。但我在某些情况下会出错,我不知道问题出在哪里 代码: 它很好用。 但如果我有 3 * 9 + ( 9 + y ) / 4 - x 12 / c + c * p ^ ( 8 + 9 ) 它应该给我: 12 c/c p 8 9+^*+ 但我得到: (+p(*^(+89))) 问题是什么。请帮帮我。 谢谢你只要看一下你的代码,我可能会说这一行 String operand = "(" + operator + " " + le

我试图编写一个方法,将中缀转换为前缀数学表达式,并使用堆栈来实现这一点。但我在某些情况下会出错,我不知道问题出在哪里

代码:

它很好用。 但如果我有

3 * 9 + ( 9 + y ) / 4 - x
12 / c + c * p ^ ( 8 + 9 )
它应该给我: 12 c/c p 8 9+^*+ 但我得到: (+p(*^(+89)))

问题是什么。请帮帮我。
谢谢你

只要看一下你的代码,我可能会说这一行

String operand = "(" + operator + " " + leftOperand + " "+ rightOperand + ")";

是您问题的根源,并且您没有在
操作组合
函数中考虑运算符
^

只要看一下您的代码,我可能会说这行

String operand = "(" + operator + " " + leftOperand + " "+ rightOperand + ")";
是问题的根源,也是您没有在
操作组合
功能中考虑运算符
^