字符串值的算术运算

Arithmetic operations on string value

我正在尝试计算器代码和设计 link https://i.stack.imgur.com/KrzRD.png

如果我的输入 = 2 * 4 + 6 - 10 / 2 在 EDIT TEXT

中输入

如何对我的代码的以下部分执行算术运算???

 buttonEqual.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            s1 = (edt1.getText() + "");
            ArrayList<String> buffer = new ArrayList<String>();
            String temp = "";
            for (int j = 0; j < s1.length(); j++) {
                if (Character.isDigit(s1.charAt(j)) || s1.charAt(j) == '.') {
                    char c1 = s1.charAt(j);
                    temp = temp + String.valueOf(c1);                                                                 
                }
                if (s1.charAt(j) == '+' || s1.charAt(j) == '-' || s1.charAt(j) == '*' || s1.charAt(j) == '/') {
                    buffer.add(temp);                            
                    temp = "";
                    buffer.add(String.valueOf(str.charAt(j)));
                }
                buffer.add(temp);

这可以通过中缀到后缀表达式求值来实现,您可以在 http://faculty.cs.niu.edu/~hutchins/csci241/eval.htm

上阅读更多内容