用代码生成android studio计算器
时间: 2023-09-13 13:05:54 浏览: 138
使用android studio完成计算器的布局并实现其简单功能.zip
5星 · 资源好评率100%
很好,下面是一个简单的 Android Studio 计算器应用程序的代码示例。
首先,创建一个新的 Android Studio 项目并在布局文件中添加以下代码:
```xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp">
<Button
android:id="@+id/btn1"
android:text="1"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn2"
android:text="2"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn3"
android:text="3"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnPlus"
android:text="+"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn4"
android:text="4"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn5"
android:text="5"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn6"
android:text="6"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnMinus"
android:text="-"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn7"
android:text="7"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn8"
android:text="8"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn9"
android:text="9"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnMultiply"
android:text="*"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btnClear"
android:text="C"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn0"
android:text="0"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnEquals"
android:text="="
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnDivide"
android:text="/"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
```
接下来,在 MainActivity.java 文件中添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button btn0, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9;
private Button btnPlus, btnMinus, btnMultiply, btnDivide, btnClear, btnEquals;
private String operand1 = "";
private String operand2 = "";
private String operator = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
btn0 = findViewById(R.id.btn0);
btn1 = findViewById(R.id.btn1);
btn2 = findViewById(R.id.btn2);
btn3 = findViewById(R.id.btn3);
btn4 = findViewById(R.id.btn4);
btn5 = findViewById(R.id.btn5);
btn6 = findViewById(R.id.btn6);
btn7 = findViewById(R.id.btn7);
btn8 = findViewById(R.id.btn8);
btn9 = findViewById(R.id.btn9);
btnPlus = findViewById(R.id.btnPlus);
btnMinus = findViewById(R.id.btnMinus);
btnMultiply = findViewById(R.id.btnMultiply);
btnDivide = findViewById(R.id.btnDivide);
btnClear = findViewById(R.id.btnClear);
btnEquals = findViewById(R.id.btnEquals);
btn0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("0");
}
});
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("1");
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("2");
}
});
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("3");
}
});
btn4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("4");
}
});
btn5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("5");
}
});
btn6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("6");
}
});
btn7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("7");
}
});
btn8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("8");
}
});
btn9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.append("9");
}
});
btnPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
operand1 = editText.getText().toString();
operator = "+";
editText.getText().clear();
}
});
btnMinus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
operand1 = editText.getText().toString();
operator = "-";
editText.getText().clear();
}
});
btnMultiply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
operand1 = editText.getText().toString();
operator = "*";
editText.getText().clear();
}
});
btnDivide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
operand1 = editText.getText().toString();
operator = "/";
editText.getText().clear();
}
});
btnClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.getText().clear();
operand1 = "";
operand2 = "";
operator = "";
}
});
btnEquals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
operand2 = editText.getText().toString();
double op1 = Double.parseDouble(operand1);
double op2 = Double.parseDouble(operand2);
double result = 0.0;
if (operator.equals("+")) {
result = op1 + op2;
} else if (operator.equals("-")) {
result = op1 - op2;
} else if (operator.equals("*")) {
result = op1 * op2;
} else if (operator.equals("/")) {
result = op1 / op2;
}
editText.setText(String.valueOf(result));
}
});
}
}
```
这段代码将操作符和操作数存储在变量中,并在用户点击等于号时计算结果并将其显示在 EditText 中。
现在您可以在模拟器或设备上运行应用程序,并使用数字和操作符按钮进行计算。
阅读全文