android studio实现简单计算机功能
时间: 2023-09-15 08:20:54 浏览: 256
要在Android Studio中实现简单计算机功能,需要完成以下步骤:
1. 创建一个新的Android项目,并在布局文件中添加一个TextView和多个Button,每个Button表示一个数字或操作符(如加减乘除)。
2. 在Java代码中创建一个计算器类,该类包含一个字符串变量来存储当前的表达式,以及一系列方法来处理表达式。例如,一个方法可以将数字或操作符添加到表达式中,另一个方法可以计算表达式的值。
3. 将每个Button与Java代码中的相应方法关联,以便用户点击按钮时进行相应的操作。
4. 在Java代码中实现计算器类的方法,以便它可以处理各种表达式并返回正确的结果。例如,可以使用Java中的eval()方法来计算表达式的值。
5. 将计算器类的方法与TextView关联,以便在每次用户点击按钮时更新TextView以显示当前表达式和结果。
示例代码:
MainActivity.java:
```
public class MainActivity extends AppCompatActivity {
private TextView mResultTextView;
private Calculator mCalculator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mResultTextView = findViewById(R.id.result_text_view);
mCalculator = new Calculator();
}
public void onButtonClick(View view) {
Button button = (Button) view;
String buttonText = button.getText().toString();
mCalculator.processInput(buttonText);
String result = mCalculator.getResult();
mResultTextView.setText(result);
}
}
```
Calculator.java:
```
public class Calculator {
private String mExpression = "";
public void processInput(String input) {
if (isOperator(input)) {
mExpression += input;
} else if (isNumber(input)) {
mExpression += input;
} else if (input.equals("=")) {
evaluateExpression();
} else if (input.equals("C")) {
clearExpression();
}
}
private boolean isOperator(String input) {
return input.equals("+") || input.equals("-") || input.equals("*") || input.equals("/");
}
private boolean isNumber(String input) {
return input.matches("[0-9]+");
}
private void evaluateExpression() {
try {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = engine.eval(mExpression);
mExpression = result.toString();
} catch (ScriptException e) {
mExpression = "Error";
}
}
private void clearExpression() {
mExpression = "";
}
public String getResult() {
return mExpression;
}
}
```
阅读全文