回答編集履歴
1
誤字修正
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
文字列を1文字1文字取り出しているのであれば、"123"のように2桁以上のものは完成するまで当然、取り続けて連結していく必要があります。数文字が終わりと判断するのは演算子が来たか、文字列の終端に達したか、と言うことになるでしょう。「足される数」、「演算子`"+"`」、「足す数」がそろえば、足し算をして終わりです。字句の並び、トークン(Token)を取り扱うことになります。
|
10
10
|
|
11
|
-
質問者さんのコードをもとに四則演算をする`calc`と、おまけで"10 + 20 + 30 - 40 * 3 / 2"...などと連続して式を入力した場合でも計算できる`calc2`のコード例を示します。ただし、`calc2`については
|
11
|
+
質問者さんのコードをもとに四則演算をする`calc`と、おまけで"10 + 20 + 30 - 40 * 3 / 2"...などと連続して式を入力した場合でも計算できる`calc2`のコード例を示します。ただし、`calc2`については乗除(`"*/"`)の計算の優先順位を考慮していません。優先順位やカッコ(`()`)を含めた計算になってくると、先のご質問
|
12
12
|
[Javaで文字列を数式に変換したい - teratail#246043](https://teratail.com/questions/246043)
|
13
13
|
の回答でいただいたような解法が必要になってくるはずです。まずは`calc`のようなメソッドは自力で作れるようにならないと、完成はちょっと難しいのでは、と思えるのが正直なところです。
|
14
14
|
|