이렇게 계산 과정을 적고 이퀄(=)을 누르면 새 창이 뜨면서 계산결과가 출력되는데
원래 이런건가요????
setText로 그 내용을 바꾸는 방식인데........ 다른 부분에서는 새창이 안 뜨는데 꼭 이부분만 그렇네요 ㅜㅜ
static void calcExpr(ExprToken[] pExprTokens, int tokencount)
{
StackClass st = new StackClass();
ExprToken node1 = null, node2 = null;
Precedence tokenType;
st.currentElementCount = 0;
calculator_sub cs = new calculator_sub();
if(pExprTokens == null)
{
return;
}
for(int i = 0 ; i < tokencount ; i++)
{
tokenType = pExprTokens[i].type;
if(tokenType == Precedence.operand)
{
st.push(pExprTokens[i]);
}
else
{
node2 = st.pop();
if(node2 != null)
{
node1 = st.pop();
if(node1 != null)
{
double op1 = node1.value;
double op2 = node2.value;
ExprToken newToken = new ExprToken();
newToken.type = Precedence.operand;
switch(tokenType)
{
case plus:
newToken.value = op1 + op2;
break;
case minus:
newToken.value = op1 - op2;
break;
case times:
newToken.value = op1 * op2;
break;
case divide:
newToken.value = op1 / op2;
break;
}
st.push(newToken);
}
}
}
}
node1 = st.pop();
if(node1 != null)
{
String s = new String();
s = " " + node1.value;
cs.tf.setText(s);
}
}
소스는 위와 같은데 윗 부분은 다 필요없고(문제해결에는) 밑에 if(node1 != null)부턴데요 여기서 그냥 setText한 것 밖에 없는데 새 창이 뜨네요 ㅋ
코드를 봐야 알겠네용 교갱님
잘못된거같습니다 고갱님
서비스가 이게뭐야?! 여기 사장나와~~~!! 룡룡 죽겠지[Bald Eagle]