用android studio 写一个计算器代码并给出解释
时间: 2023-10-06 21:08:59 浏览: 105
好的,下面是一个简单的 Android Studio 计算器代码,具体解释请看注释:
```java
public class MainActivity extends AppCompatActivity {
// 声明控件变量
private EditText inputText;
private Button btn0, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9;
private Button btnAdd, btnSub, btnMul, btnDiv, btnClear, btnEqual;
// 记录运算符和数字
private double num1 = 0, num2 = 0;
private String operator = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化控件
inputText = findViewById(R.id.input_text);
btn0 = findViewById(R.id.btn_0);
btn1 = findViewById(R.id.btn_1);
btn2 = findViewById(R.id.btn_2);
btn3 = findViewById(R.id.btn_3);
btn4 = findViewById(R.id.btn_4);
btn5 = findViewById(R.id.btn_5);
btn6 = findViewById(R.id.btn_6);
btn7 = findViewById(R.id.btn_7);
btn8 = findViewById(R.id.btn_8);
btn9 = findViewById(R.id.btn_9);
btnAdd = findViewById(R.id.btn_add);
btnSub = findViewById(R.id.btn_sub);
btnMul = findViewById(R.id.btn_mul);
btnDiv = findViewById(R.id.btn_div);
btnClear = findViewById(R.id.btn_clear);
btnEqual = findViewById(R.id.btn_equal);
// 数字按钮的点击事件
btn0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("0");
}
});
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("1");
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("2");
}
});
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("3");
}
});
btn4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("4");
}
});
btn5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("5");
}
});
btn6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("6");
}
});
btn7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("7");
}
});
btn8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("8");
}
});
btn9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.append("9");
}
});
// 运算符按钮的点击事件
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Double.parseDouble(inputText.getText().toString());
inputText.setText("");
operator = "+";
}
});
btnSub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Double.parseDouble(inputText.getText().toString());
inputText.setText("");
operator = "-";
}
});
btnMul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Double.parseDouble(inputText.getText().toString());
inputText.setText("");
operator = "*";
}
});
btnDiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Double.parseDouble(inputText.getText().toString());
inputText.setText("");
operator = "/";
}
});
// 清除按钮的点击事件
btnClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inputText.setText("");
}
});
// 等于按钮的点击事件
btnEqual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num2 = Double.parseDouble(inputText.getText().toString());
double result = 0;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num2 == 0) {
Toast.makeText(MainActivity.this, "除数不能为0!", Toast.LENGTH_SHORT).show();
return;
} else {
result = num1 / num2;
}
break;
}
inputText.setText(String.valueOf(result));
}
});
}
}
```
这个代码实现了一个简单的四则运算计算器,可以进行加减乘除的运算。具体实现流程如下:
1. 首先声明了所有的控件变量,包括输入框和各个数字、运算符按钮。
2. 在 `onCreate` 方法中,初始化了所有的控件变量,并为数字按钮和运算符按钮分别设置了点击事件。
3. 数字按钮的点击事件中,使用 `append` 方法将对应的数字追加到输入框中。
4. 运算符按钮的点击事件中,先将输入框中的数字转化为 double 类型,并保存到 `num1` 变量中,然后清空输入框,最后记录当前的运算符。
5. 清除按钮的点击事件中,将输入框清空。
6. 等于按钮的点击事件中,先将输入框中的数字转化为 double 类型,并保存到 `num2` 变量中,然后根据当前的运算符做出相应的计算,并将结果显示到输入框中。
这个计算器代码比较简单,但是可以作为初学者学习 Android 开发时的练手项目。
阅读全文