자바에서 접미사 계산기를 만들기 위해 스택을 사용하고 있습니다. 나는 몇 가지 문제를 건너오고 있지만 주요 부분을 작성했습니다. 우선, 공백을 고려해야하고, 현재 설정으로 어떻게해야하는지 잘 모르겠습니다. 그게 프로그램을 완전히 고칠 지 확신 할 수는 없지만 시작에 불과합니다. 어떤 도움이라도 대단히 감사하겠습니다. 코멘트에서 언급 한 바와 같이자바 접미사 계산기 오류
import java.util.Scanner;
import java.util.Stack;
public class Postfix
{
public static void main(String[]args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter a Postfix expression");
String input = sc.nextLine();
Stack<Integer> Pstack = new Stack<Integer>();
int result = 0;
for(int i=0; i<input.length();i++)
{
char ch = input.charAt(i);
if(ch>='0' && ch<='9')
{
Pstack.push((int)(ch-'0'));
}
else
{
int o1 = Pstack.pop();
int o2 = Pstack.pop();
switch(ch)
{
case '+':result=o1+o2;
break;
case '-':result=o1-o2;
break;
case '/':result=o1/o2;
break;
case '*':result=o1*o2;
}
}
Pstack.push(result);
}
result = Pstack.pop();
System.out.println("result: "+ result);
}
}
넣어 수정한다 :'경우 (채널 == '') 계속해서'직접 숯불 채널 = input.charAt (I)'이후;' . –