質問: factory.getEngineByName("JavaScript"); // JavaでJavaScriptのeval()関数を呼び出す static String sEval(String sExpr) { String sScript="with(Math){"+sExpr+"}"; // 「Math.」を省略可能にするため try{ return( engine.eval(sScript).toString() ); } catch(NullPointerException e){ // 関数定義でエラー防止 return(sExpr); } catch(Exception e){ return("error: "+e); } } public static void main(String[] args) { } } ``` ### 試したこと 多次元配列やListなどの記述方法を探して書いているのですが、書き方に詰まってしまっている状態です。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: CEの動作としては直近の数値の削除というよりも、入力中数値のクリアという感じなので、 最後の配列の削除を行うとどんどん配列(式)が消えていきますね。 CEの動作とかけ離れると思います。 なので、確定している式と入力中の数値を分けて考えた方がいいです。 普通に入力中数値(txt2?)をクリアするだけじゃないでしょうか。 電卓の仕様 ``` txt2.setText(""); //個人的には0でもいいと思います。 ```