用android studio写计算器
时间: 2023-05-24 19:03:29 浏览: 102
A:编写一个简单的计算器可以通过以下步骤实现:
1. 创建一个新的Android项目,并在MainActivity类中设置布局文件。
2. 在布局文件中添加组件,例如TextView,以用来显示结果,以及Button实例,以用来输入计算表达式。
3. 在MainActivity类中实现Button点击事件的监听器,并通过onClick方法获取用户输入的计算表达式。
4. 使用Java语言中的Math类来执行计算操作,并将结果显示在TextView上。
5. 部署并运行该应用程序。
以下是关键代码示例以帮助你更好地理解:
1. 在MainActivity类中设置布局文件:
```java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
```
2. 在布局文件中添加组件:
```java
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tvResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="32sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnNumber1"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="1"/>
...
<Button
android:id="@+id/btnEqual"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="="/>
</LinearLayout>
</LinearLayout>
```
3. 在MainActivity类中实现Button点击事件的监听器:
```java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tvResult;
private String expression = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvResult = findViewById(R.id.tvResult);
findViewById(R.id.btnNumber0).setOnClickListener(this);
findViewById(R.id.btnNumber1).setOnClickListener(this);
...
findViewById(R.id.btnEqual).setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btnNumber0:
expression += "0";
break;
case R.id.btnNumber1:
expression += "1";
break;
...
case R.id.btnEqual:
double result = evaluateExpression(expression);
tvResult.setText(String.valueOf(result));
expression = "";
break;
}
}
private double evaluateExpression(String exp){
exp = exp.replaceAll("×", "*");
exp = exp.replaceAll("÷", "/");
exp = exp.replaceAll("%", "/100");
Expression e = new ExpressionBuilder(exp).build();
return e.evaluate();
}
}
```
4. 使用Java语言中的Math类来执行计算操作,并将结果显示在TextView上。
```java
public double calculator(String arithmetic) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
double result = 0;
try {
result = (double) engine.eval(arithmetic);
return result;
} catch (ScriptException e) {
e.printStackTrace();
}
return result;
}
```
5. 部署并运行该应用程序。
运行该应用程序并测试其功能是否正常工作,即可完成实现一个简单计算器的任务。
阅读全文