Java 如何修正错误的数学计算?

Java 如何修正错误的数学计算?,java,android,Java,Android,我试着用int值制作一个非常简单的计算器。问题是:无论计算什么数字,答案都是0。我的代码有什么问题,如何修复?下面是我的代码,例如添加代码 private EditText input; private EditText input2; private TextView result; private Button plus; private String inputStr; private String input2Str; priv

我试着用int值制作一个非常简单的计算器。问题是:无论计算什么数字,答案都是0。我的代码有什么问题,如何修复?下面是我的代码,例如添加代码

    private EditText input;
    private EditText input2;
    private TextView result;
    private Button plus;

    private String inputStr;
    private String input2Str;

    private int inp1;
    private int inp2;
    private int rslt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        input = findViewById(R.id.input);
        input2 = findViewById(R.id.input2);
        result = findViewById(R.id.result);
        plus = findViewById(R.id.plus_btn);

       input.setOnClickListener(v -> {
            inputStr = input.getText().toString();
            inp1 = Integer.parseInt(inputStr);
        });
        input2.setOnClickListener(v -> {
            input2Str = input2.getText().toString();
            inp2 = Integer.parseInt(input2Str);
        });


        rslt = 0;
        plus.setOnClickListener(v -> {
            rslt = inp1 + inp2;
            result.setText(String.valueOf(rslt));
        });

在此处设置断点rslt=inp1+inp2;并调试代码以查看实际值您需要变量操作类型,在加上单击“存储运算符类型”,在结果上单击“解析数字”并通过切换案例执行操作EditText上设置的OnClick侦听器可能无法按您所想的方式工作。去掉这些,首先将inputStr/inp1和inputStr/inp2行全部移到plus的OnClickListener中。@MikeM。谢谢,这帮了大忙,没问题。顺便说一句,这只是你在这里发布的示例片段的一个快速建议,希望能说明那里发生了什么。您可能希望以不同的方式组织代码,因此不必将它们复制到每个操作员按钮的onclick侦听器中。干杯
    plus.setOnClickListener(v -> {
        //put rslt = 0; below...
        rslt = 0;
        rslt = inp1 + inp2;
        result.setText(String.valueOf(rslt));
    });