android计算机实现
时间: 2023-07-28 22:11:59 浏览: 46
Android是基于Java语言开发的移动操作系统,因此Android上的计算机实现也可以使用Java语言进行开发。以下是一个简单的Android计算器实现:
1.创建一个空的Android项目
2.在MainActivity中添加一个EditText和多个Button,用于输入和显示计算结果
3.为每个Button添加点击事件,在点击事件中将对应的数字或操作符添加到EditText中
4.为“=”按钮添加点击事件,在点击事件中获取EditText中的字符串,利用Java中的计算表达式库计算结果,并将结果显示在EditText中
以下是一个简单的示例代码:
```
public class MainActivity extends AppCompatActivity {
private EditText etInput;
private Button btn0, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9;
private Button btnPlus, btnMinus, btnMul, btnDiv, btnEqual, btnClear;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etInput = findViewById(R.id.et_input);
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);
btnPlus = findViewById(R.id.btn_plus);
btnMinus = findViewById(R.id.btn_minus);
btnMul = findViewById(R.id.btn_mul);
btnDiv = findViewById(R.id.btn_div);
btnEqual = findViewById(R.id.btn_equal);
btnClear = findViewById(R.id.btn_clear);
btn0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
etInput.append("0");
}
});
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
etInput.append("1");
}
});
//添加其他数字按钮的点击事件
btnPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
etInput.append("+");
}
});
//添加其他操作符按钮的点击事件
btnEqual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String expression = etInput.getText().toString();
double result = EvaluateExpression.evaluate(expression);
etInput.setText(String.valueOf(result));
}
});
btnClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
etInput.setText("");
}
});
}
}
```
需要注意的是,这里使用了Java中的计算表达式库EvaluateExpression来计算表达式的值。这个库可以在Github上找到,也可以自己实现一个计算表达式的方法。