在Android studio中制作一个多位数加减的计算器,用numberClick编写
时间: 2024-02-18 16:05:16 浏览: 62
好的,让我来帮助您实现一个多位数加减的计算器。您可以按照以下步骤进行操作:
1. 首先,在Android Studio中创建一个新的空项目,然后在app目录下的build.gradle文件中添加以下依赖项:
```
implementation 'androidx.appcompat:appcompat:1.2.0'
```
2. 接下来,打开activity_main.xml文件,将其修改为如下所示的代码,以创建一个简单的布局:
```xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/result_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="48sp"
android:gravity="end"
android:text="0"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/one_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:onClick="numberClick"/>
<Button
android:id="@+id/two_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:onClick="numberClick"/>
<Button
android:id="@+id/three_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:onClick="numberClick"/>
<Button
android:id="@+id/plus_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:onClick="operatorClick"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/four_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:onClick="numberClick"/>
<Button
android:id="@+id/five_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:onClick="numberClick"/>
<Button
android:id="@+id/six_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6"
android:onClick="numberClick"/>
<Button
android:id="@+id/minus_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:onClick="operatorClick"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/seven_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7"
android:onClick="numberClick"/>
<Button
android:id="@+id/eight_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8"
android:onClick="numberClick"/>
<Button
android:id="@+id/nine_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9"
android:onClick="numberClick"/>
<Button
android:id="@+id/equals_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="="
android:onClick="calculateResult"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/clear_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"
android:onClick="clearResult"/>
<Button
android:id="@+id/zero_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:onClick="numberClick"/>
<Button
android:id="@+id/dot_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="."
android:onClick="numberClick"/>
</LinearLayout>
</LinearLayout>
```
3. 然后,在MainActivity.java文件中添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
private TextView resultTextView;
private String firstNumber = "";
private String secondNumber = "";
private String operator = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultTextView = findViewById(R.id.result_text_view);
}
public void numberClick(View view) {
Button button = (Button) view;
String buttonText = button.getText().toString();
if (operator.isEmpty()) {
firstNumber += buttonText;
resultTextView.setText(firstNumber);
} else {
secondNumber += buttonText;
resultTextView.setText(secondNumber);
}
}
public void operatorClick(View view) {
Button button = (Button) view;
operator = button.getText().toString();
}
public void calculateResult(View view) {
double result = 0;
if (!firstNumber.isEmpty() && !secondNumber.isEmpty()) {
double num1 = Double.parseDouble(firstNumber);
double num2 = Double.parseDouble(secondNumber);
if (operator.equals("+")) {
result = num1 + num2;
} else if (operator.equals("-")) {
result = num1 - num2;
}
resultTextView.setText(String.valueOf(result));
firstNumber = String.valueOf(result);
secondNumber = "";
operator = "";
}
}
public void clearResult(View view) {
firstNumber = "";
secondNumber = "";
operator = "";
resultTextView.setText("0");
}
}
```
4. 运行应用程序,您会看到一个具有数字按钮、加减运算符和计算结果的简单布局。您可以单击数字按钮输入数字,单击加减运算符选择操作,单击等号按钮计算结果,单击C按钮清除结果。
希望这个例子对您有所帮助,如果您有任何问题,请随时问我。
阅读全文