android studio简易计算器的代码实现
时间: 2023-05-29 12:02:28 浏览: 484
以下是一个简单的 Android Studio 计算器代码示例:
activity_main.xml 文件:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入数字" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="16dp">
<Button
android:id="@+id/button_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+" />
<Button
android:id="@+id/button_minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:layout_marginLeft="16dp"/>
<Button
android:id="@+id/button_multiply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:layout_marginLeft="16dp"/>
<Button
android:id="@+id/button_divide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
android:layout_marginLeft="16dp"/>
</LinearLayout>
<Button
android:id="@+id/button_calculate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="计算结果"
android:layout_marginTop="16dp"/>
<TextView
android:id="@+id/textView_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:layout_marginTop="16dp"/>
</LinearLayout>
```
MainActivity.java 文件:
```java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText editText;
Button buttonPlus, buttonMinus, buttonMultiply, buttonDivide, buttonCalculate;
TextView textViewResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
buttonPlus = findViewById(R.id.button_plus);
buttonMinus = findViewById(R.id.button_minus);
buttonMultiply = findViewById(R.id.button_multiply);
buttonDivide = findViewById(R.id.button_divide);
buttonCalculate = findViewById(R.id.button_calculate);
textViewResult = findViewById(R.id.textView_result);
buttonPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calculate("+");
}
});
buttonMinus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calculate("-");
}
});
buttonMultiply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calculate("*");
}
});
buttonDivide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calculate("/");
}
});
buttonCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calculate("");
}
});
}
private void calculate(String operator) {
try {
double value = Double.parseDouble(editText.getText().toString());
double result = 0;
switch (operator) {
case "+":
result = value + Double.parseDouble(textViewResult.getText().toString());
break;
case "-":
result = Double.parseDouble(textViewResult.getText().toString()) - value;
break;
case "*":
result = value * Double.parseDouble(textViewResult.getText().toString());
break;
case "/":
if (value == 0) {
textViewResult.setText("错误:除数不能为 0");
return;
}
result = Double.parseDouble(textViewResult.getText().toString()) / value;
break;
default:
textViewResult.setText(String.valueOf(value));
return;
}
textViewResult.setText(String.valueOf(result));
} catch (Exception e) {
textViewResult.setText("错误:请输入数字");
}
}
}
```
当用户点击运算符号按钮时,将调用 `calculate()` 方法计算结果。该方法将获取操作数,将其转换为浮点数,根据指定的操作符将其与结果累加,然后将结果显示在 `textViewResult` 中。如果用户输入的不是数字,则会显示一个错误消息。如果除数为 0,也会显示一个错误消息。
阅读全文