中置式から後置式への変換を可能にするプログラムを作成しましたが、それは 1 つの数字に対してのみ機能し[A-Z][a-z][0-9]
ます。実数 (正と負) を可能にするにはどうすればよいですか?
Example: (50 + 3.75) + 50 --> 50 3.75 + 50 +
infix から postfix への変換を可能にする doTrans()
public String doTrans() {
for (int j = 0; j < input.length(); j++) {
char ch = input.charAt(j);
theStack.displayStack("For " + ch + " ");
switch (ch) {
case '+':
case '-':
gotOper(ch, 1);
break;
case '*':
case '/':
gotOper(ch, 2);
break;
case '(':
theStack.push(ch);
break;
case ')':
gotParen(ch);
break;
default:
output = output + ch;
break;
}
}
while (!theStack.isEmpty()) {
theStack.displayStack("While ");
output = output + theStack.pop();
}
theStack.displayStack("End ");
return output;
}
この行の問題output = output + ch;
。1 桁だけではなく整数を取得する方法の解決策が見つかりません