님들

중위표기식을 전위표기식으로 바꾸는건 하겟는데,

전위표기식으로 바꾼다음 이거 계산하는 걸 어찌 코딩해야할까 / ㅠ 

일단 내가 한거 보여줄게 막히는 부분이 있어서


public class Calculator {

private char[] exp;

public int evalPrefix(char[] prefix){

LinkedStack S = new LinkedStack();

exp = prefix;

int opr1, opr2, value;

   char testCh;

for(int i=0; i<7; i++){

testCh = exp[i];

if(testCh != '+' && testCh != '-' && testCh != '*' && testCh != '/'){

S.push(testCh);

}

else{

opr2 = S.pop();

opr1 = S.pop();

switch(testCh){

case '+' : S.push(opr1+opr2); break;

case '-' : S.push(opr1-opr2); break;

case '*' : S.push(opr1*opr2); break;  

case '/' : S.push(opr1 / opr2); break;

}

}

}

return S.pop();

}

}


여기서 문제가 되는게,,

S.push 메소드를 나는 char로 구현해서 그런지 S.push(opr1+opr2) 이부분이 오류가나네 ㅠ

이거 opr1+opr2 부분은 지금 int형인데 이걸 매개변수로 char로 넘기는 방법 없을까  ??  

push 메소드 보여줄게


public void push(char item){

StackNode newNode = new StackNode();

newNode.>

newNode.link = top;

top = newNode;

}