安卓Java简易计算器实现代码
时间: 2024-05-14 16:15:41 浏览: 6
以下是一个简单的Android Java 计算器实现代码:
```java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
EditText editText;
Button button0, button1, button2, button3, button4, button5, button6, button7, button8, button9;
Button buttonAdd, buttonSub, buttonMul, buttonDiv, buttonC, buttonCE, buttonPoint, buttonEqual;
double value1 = Double.NaN, value2 = Double.NaN;
boolean addition , subtraction , multiplication , division ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
button0 = findViewById(R.id.button0);
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
button4 = findViewById(R.id.button4);
button5 = findViewById(R.id.button5);
button6 = findViewById(R.id.button6);
button7 = findViewById(R.id.button7);
button8 = findViewById(R.id.button8);
button9 = findViewById(R.id.button9);
buttonAdd = findViewById(R.id.buttonAdd);
buttonSub = findViewById(R.id.buttonSub);
buttonMul = findViewById(R.id.buttonMul);
buttonDiv = findViewById(R.id.buttonDiv);
buttonC = findViewById(R.id.buttonC);
buttonCE = findViewById(R.id.buttonCE);
buttonPoint = findViewById(R.id.buttonPoint);
buttonEqual = findViewById(R.id.buttonEqual);
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "0");
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "2");
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "3");
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "4");
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "5");
}
});
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "6");
}
});
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "7");
}
});
button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "8");
}
});
button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editText.setText(editText.getText() + "9");
}
});
buttonPoint.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + ".");
}
});
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
addition = true;
editText.setText(null);
}
});
buttonSub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
subtraction = true;
editText.setText(null);
}
});
buttonMul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
multiplication = true;
editText.setText(null);
}
});
buttonDiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
division = true;
editText.setText(null);
}
});
buttonEqual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
editText.setText(String.valueOf(value1));
value1 = Double.NaN;
}
});
buttonCE.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editText.getText().length() > 0) {
CharSequence currentText = editText.getText();
editText.setText(currentText.subSequence(0, currentText.length() - 1));
}
}
});
buttonC.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
value1 = Double.NaN;
value2 = Double.NaN;
editText.setText(null);
}
});
}
private void compute() {
if (!Double.isNaN(value1)) {
value2 = Double.parseDouble(editText.getText().toString());
if (addition) {
value1 += value2;
} else if (subtraction) {
value1 -= value2;
} else if (multiplication) {
value1 *= value2;
} else if (division) {
value1 /= value2;
}
} else {
value1 = Double.parseDouble(editText.getText().toString());
}
}
}
```
此代码将创建一个基本的界面和常规的按钮,使您能够执行简单的加法,减法,乘法和除法操作。