0
나는 그것의 후위 표기법의 중위 표기에서 식을 변환 할 수있는 방법을 가지고,하지만 난 예를 들어 9자리
보다 큰 숫자를 처리하는 방법을 모른다>로 1 후위에 중위를 변환, 12- (5 + 3)면 1253 + - 12 53 + - (또는 비슷한 형식) 대신 표현하고 싶지 않을 것입니다.
내가 무엇을 가지고 :
private void postfix(){
String result = "";
LinkedStack<Character> stack = new LinkedStack<Character>();
for (int i = 0; i < expression.length(); i++){
char c = expression.charAt(i);
if (Character.isDigit(c)){
result += c;
}
else if (c == '('){
stack.push(c);
}
else if (c == ')'){
while (!stack.isEmpty() && stack.peek() != '('){
result += stack.pop();
}
if (!stack.isEmpty() && stack.peek() != '('){
result = "Invalid Expression";
}
else{
stack.pop();
}
}
else if(isOperator(c)){
while (!stack.isEmpty() && weight(c) <= weight(stack.peek()))
result += stack.pop();
stack.push(c);
}
}
postfixed = result;
}