teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤字修正

2020/03/12 02:20

投稿

dodox86
dodox86

スコア9416

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