如何在Android计算器中计算结果

时间:2013-12-15 18:30:10

标签: android textview calculator

我正在尝试制作一个计算器,用户在一行中输入数据,然后在按“=”时计算结果。但是,我不知道如何接收为计算输入的数据。 1)我是否接受整个字符串并计算它(这意味着android必须能够区分诸如+和 - 之类的符号) 2)或者在用户输入数字时逐个接收数据。 到目前为止,我有这个:

public void onClickButton (View view)
    {
        if (view.getId() == (R.id.Button01)){
            txtView1.append("7");
        } else if (view == findViewById(R.id.Button02)){
            txtView1.append("8");
        } else if (view == findViewById(R.id.Button03)){
            txtView1.append("9");
        } else if (view == findViewById(R.id.Button04)){
            txtView1.append("/");
        } else if (view == findViewById(R.id.Button05)){
            txtView1.append("4");
        } else if (view == findViewById(R.id.Button06)){
            txtView1.append("5");
        } else if (view == findViewById(R.id.Button07)){
            txtView1.append("6");
        } else if (view == findViewById(R.id.Button08)){
            txtView1.append("+");
        } else if (view == findViewById(R.id.Button09)){
            txtView1.append("1");
        } else if (view == findViewById(R.id.Button10)){
            txtView1.append("2");
        } else if (view == findViewById(R.id.Button11)){
            txtView1.append("3");
        } else if (view == findViewById(R.id.Button12)){
            txtView1.append("-");
        }
    }

这会使文本以一个字符串形式出现 例如:“5 + 45”

1 个答案:

答案 0 :(得分:0)

您需要将textview中的表达式从INFIX转换为POSTFIX。 之后,您需要对获得的POSTFIX表达式进行评估

THIS TUTORIAL WILL BE HELPFUL TO UNDERSTAND THE ALGORITHM