请在Android studio中的MainActivity.java写一个计算器程序,实现加减乘除,连加连减操作
时间: 2024-05-13 20:14:20 浏览: 147
java编写的计算器,能实现加减乘除
5星 · 资源好评率100%
好的,以下是一个简单的计算器程序实现加减乘除,连加连减操作的代码:
```
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btnAdd, btnSub, btnMul, btnDiv, btnEq, btnC, btnPlus, btnMinus;
private EditText etResult;
private boolean plusFlag = false;
private boolean minusFlag = false;
private double num1 = 0.0, num2 = 0.0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAdd = findViewById(R.id.btnAdd);
btnSub = findViewById(R.id.btnSub);
btnMul = findViewById(R.id.btnMul);
btnDiv = findViewById(R.id.btnDiv);
btnEq = findViewById(R.id.btnEq);
btnC = findViewById(R.id.btnC);
btnPlus = findViewById(R.id.btnPlus);
btnMinus = findViewById(R.id.btnMinus);
etResult = findViewById(R.id.etResult);
btnAdd.setOnClickListener(this);
btnSub.setOnClickListener(this);
btnMul.setOnClickListener(this);
btnDiv.setOnClickListener(this);
btnEq.setOnClickListener(this);
btnC.setOnClickListener(this);
btnPlus.setOnClickListener(this);
btnMinus.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnAdd:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
plusFlag = true;
break;
case R.id.btnSub:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
minusFlag = true;
break;
case R.id.btnMul:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
case R.id.btnDiv:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
case R.id.btnEq:
num2 = Double.parseDouble(etResult.getText().toString());
if (plusFlag) {
etResult.setText(String.valueOf(num1 + num2));
plusFlag = false;
} else if (minusFlag) {
etResult.setText(String.valueOf(num1 - num2));
minusFlag = false;
} else if (num1 != 0.0) {
etResult.setText(String.valueOf(num1 * num2));
} else {
etResult.setText("Error");
}
break;
case R.id.btnC:
num1 = 0.0;
num2 = 0.0;
plusFlag = false;
minusFlag = false;
etResult.setText("");
break;
case R.id.btnPlus:
num1 += Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
case R.id.btnMinus:
num1 -= Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
}
}
}
```
在该程序中,我们创建了5个操作符按钮和3个数字按钮,分别对应加、减、乘、除、等于、清空、连加和连减操作。在点击了加、减、乘、除操作符时,我们将当前已经输入的数字作为num1,清空输入框,标记当前操作为加、减、乘、除。在点击等于操作符时,我们将当前已经输入的数字作为num2,根据标记的操作符进行相应的计算,并将结果显示在输入框中。在点击清空按钮时,我们将所有变量和标记重置。在点击连加和连减按钮时,我们将当前已经输入的数字作为操作数,将num1作为上一次的计算结果,进行相应的计算,并将结果显示在输入框中。
阅读全文