转变为逆波兰表示式的代码报错:堆栈溢出,怎么解决?
- import java.util.Stack;
- import javax.swing.text.ChangedCharSetException;
- public class T {
- public static void main(String[] args){
- System.out.print("请输入算式:");
- Scanner sc=new Scanner(System.in);
- String formula=sc.nextLine();
- System.out.print(change(formula));
- }
- public static Stack change(String expression) {
- Stack s1=new Stack();s1.push('#');
- Stack s2=new Stack();
- char[] chars=expression.toCharArray();
- StringBuffer s=new StringBuffer();
- for(int i=0;iget(chars)) {
- }else {
- s2.push(s1.peek().toString());
- }
- }
- }
- }return s2;
- }
- public static int get(char c)
- { int m=0;
- switch(c) {
- case'+':
- case'-':m=1;break;
- case'/':
- case'*':m=2;break;
- case'(':
- case')':m=0;break;
- case'#':m=-1;break;}
- return m;
- }
- }
|
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|