마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

string으로 된 계산식으로 계산기 구현 [closed]

0 추천
string으로 된 392 + 287 * 43 / 2 - 11 이런 값을 계산하여서 출력하려고 하는데

너무 어렵네요

String str = 392 + 283 * 43 / 2 - 11;

일단 *와 / 부터 계산하려고 하는데

pos = str.indexOf("*") 로 *의 위치를 찾고 양옆의 숫자를 계산하려고 하는데

num1 = str.charAt(pos-1);  //7

num2 = str.charAt(pos+1);  //4

 

여기에서 num1에 287을 넣고 num2에 43을 넣고 싶은데 어떻게 해야하는지 점점 더 복잡하져만 가서 조언을 구하고자 합니다. 부탁드립니다

 

아!!!!!!!!!!!! 계산기 만드는데 이렇게 오래 걸릴줄 몰랐네요 ㅠㅠ 예외 처리도 많고
질문을 종료한 이유: 답변을 받음
눈온다다다 (730 포인트) 님이 2015년 9월 16일 질문
눈온다다다님이 2015년 9월 17일 closed

2개의 답변

+1 추천
이런 문제는 숫자와 연산자를 스택에 넣고, postfix 또는 prefix 로 (후위,전위)표기법으로 바꿔서 연산을 해야합니다. 단순하게 * / 이나 ( ) 를 먼저 찾아서 계산하려고 하면 오히려 어려워져요.

수식 후위표기법 변환 이런식으로 검색해보시면 원하는 방향으로 답을 찾으실수 있을겁니다.
kfmes (900 포인트) 님이 2015년 9월 16일 답변
+1 추천
http://warmz.tistory.com/614

 

참고하시면 도움 될겁니다.
개발자초심 (21,220 포인트) 님이 2015년 9월 17일 답변
...