所以我一直在爲一個學校項目編寫一個使用Java的科學計算器,並且我在這裏陷入了兩件事。多參數函數加上java中的科學計算器的高級文本顯示
添加功能,如
sin
,cos
,tan
,root(base,n)
等有了這個,我被困在道路分隔參數。例如,root(base,n)
。我可以弄清楚如何自己讀取公式,我使用Shunting Yard算法將公式轉換爲RPN。我一直在遵循this僞碼算法來實現它。我只是不知道如何讓用戶只使用屏幕上的GUI添加兩個參數。實施高級顯示。因此,我的意思是一個顯示不僅包含一行文本,還包含多行,如
degrees/radians mode
,上一個公式和答案,以及當前的公式/答案。如果我的解釋不好,這可能有助於說明我的觀點: 目前我的顯示器使用了一個簡單的JTextField,並且我意識到了它對我想要做的事情的限制,而且我肯定需要對其進行更改。 JTextField是一種臨時顯示輸出的方式,直到我正確地進行顯示。
它主要有兩個字符串,一個是被評估的一個,另一個就是顯示在屏幕上,用統一碼等,可以不會被評估在一個公式(因此,功率兩個符號和x代替星號)
對於第一個問題,我認爲左箭頭和右箭頭應該在arg1,arg2等之間移動但我不知道我會如何實現這一點。
任何這些問題的幫助將不勝感激。我一直試圖解決這個問題,現在幾個小時...
謝謝。
所以它看起來像'root(base)n'? – Kelan
是的,似乎是最簡單的方法去做。你還試過了什麼?進入n之後,顯示屏可以更新以反映它作爲(表達式的)n根( –
)我還沒有嘗試過太多...我真的不知道從哪裏開始。我的想法是像'root(arg1,arg2)'一樣格式化(如字符串「arg1」替換爲'base',字符串arg2'替換爲'n'),但我不知道如何做這個。 – Kelan