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。字符串