0
我正在創建一個基本上是一個計算器的程序,它從用戶接收輸入並將其分解爲不同的部分。 例輸入:我該如何解析以字符串形式給出的輸入?
4 + 5
我的程序需要輸入和分析,並打破了條款,運營商,忽略空格,和其他一些東西。但是,當我將所有作品重新放在一起時,它們都是以字符串形式存在的。所以它看起來像這樣:
"4+5"
我怎樣才能讓程序採取串並分析其產生的INT 9?
我試過Integer.parseInt(input)
,毫不奇怪,它返回一個錯誤。那麼是否有一個簡單的(足夠)的方法來做到這一點?或者我將不得不創建自己的方法來解析等式?
順便說一下,它可以做兩個以上的術語,我分解輸入的原因是檢查輸入錯誤,如5 ++ 5或任何這種方式。它也是納入PEMDAS。
[可能的重複](http://stackoverflow.com/q/15173681/1113392) – A4L
而這:http://stackoverflow.com/questions/4173623/mathematical-expression-string-to-number-in- java –
你想使用分流碼算法。您爲操作員使用堆棧,併爲這些值使用隊列。然後,您可以遍歷其中的兩個,以瞭解計算的順序,並遵循「操作順序」規則。 –