0
我正在嘗試計算中綴表達式,例如4 *(2 + 3)-1。我使用腳本引擎管理器。它在控制檯應用程序上工作,但是當我在我的JFrame上使用它時,當我點擊equals按鈕時會出現錯誤。中綴表達式評估錯誤
private void equalsActionPerformed(java.awt.event.ActionEvent evt) {
Object res = null;
try {
res = new ScriptEngineManager().getEngineByName("JavaScript").eval(display1.getText());
} catch (ScriptException ex) {
Logger.getLogger(InfixCalculator.class.getName()).log(Level.SEVERE, null, ex);
}
result.setText((String) res);
}
display1顯示以下屏幕截圖的中綴表達式。
錯誤是如下:
在異常線程 「AWT-EventQueue的-0」 java.lang.ClassCastException: java.lang.Double中不能轉換到的java.lang。字符串