실수 (음수 포함)에 대한 중위 수식에서 후치 식으로 변환 할 수있는 응용 프로그램을 만들었습니다. 첫 번째에 음수를 넣은 다음 다른 숫자를 뺀 것을 제외하고는 완벽하게 작동합니다. 예 : -1 - 2
또는 -2 + 8 - 9
. 그것은 -1-2
과 -2 8-9 +
을 보여줍니다. -1 2 -
및 -2 8 + 9 -
이어야합니다. 기호가 -
일 때 확실히 문제가됩니다. 이것은 입력 코드가 '-'인 경우 코드의 일부입니다. 실제 숫자 (음수 숫자 포함) 뒤에 접미사
for (int j = 0; j < input.length(); j++) {
char ch = input.charAt(j);
if (ch == '-') {
if ((ch == input.charAt(0)) || (input.charAt(j - 1) == '(')
|| (input.charAt(j - 1) == '-'))
temp = temp + ch;
else {
output = output + temp + " ";
temp = "";
gotOper(ch, 1);
}
}
else if ..
...
}
앱을
-
를 발견하고는
input
의 첫 번째 또는
(
후 나
-
후 그래서 음수이고 내가 임시 변수에 넣어합니다. 0에서 9 사이이거나
.
일 때 같은 것입니다. 그렇지 않으면 피연산자와 피연산자는
temp
에 넣고
output
에 넣고 스택과 함께 작업을 수행합니다. 전체 코드를 표시 할 수 없으며, 매우 길다! 누군가 나를 기쁘게 도와 줄 수 있습니까?
편집 : 나는 문이 경우 (j == 0)
로 대체해야 모든 공백 두 번째의
중위 어를 후위 문자로 변환한다는 의미입니까? – raptortech97
예! 미안, 나는 좋은 밤을 보내지 않았다. – mpluse