Exécution de l'équation mathématique dans Android

Je dois pouvoir gérer une équation mathématique telle que "(45 + 9) / 8" dans mon application. Je voulais simplement l'utiliser en utilisant JavaScript, mais je me suis rendu compte que je ne peux pas utiliser javax.script dans Android. Donc, j'ai trouvé WebView, mais j'ai de la difficulté à l'utiliser. La plupart des exemples se réfèrent à l'utilisation d'une page externe avec le code JS, ou en utilisant "javascript: var return … etc." Je devrais utiliser ce dernier, mais j'ai eu un peu de problèmes pour renvoyer la variable sur mon application.

Est-il possible d'avoir le JS eval, puis d'écrire la valeur dans un TextView caché?

Consultez exp4j . C'est un simple évaluateur d'expression pour java. Pour l'équation que vous avez posté dans votre question, vous pouvez simplement:

Calculable calc = new ExpressionBuilder("(45+9)/8").build() double result1=calc.calculate(); 

Essaye celui-là:

 import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.swing.JOptionPane; private void btnEqualsActionPerformed(java.awt.event.ActionEvent evt) { String expression = txtResult.getText(); ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName("JavaScript"); try { result = engine.eval(expression).toString(); txtResult.setText(result); } catch (Exception e) { JOptionPane.showMessageDialog(null, txtResult.getText() + " cannot be calculated. Try again!", "Error on calculation!", JOptionPane.WARNING_MESSAGE); txtResult.setText(""); } } 

L'option intéressante pour une expression plus avancée pourrait être de transformer une calculatrice en ligne en un service Web que vous pouvez utiliser à partir de votre mobile.