Java 如何修正错误的数学计算?
我试着用int值制作一个非常简单的计算器。问题是:无论计算什么数字,答案都是0。我的代码有什么问题,如何修复?下面是我的代码,例如添加代码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
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));
});