用anroid studio写一个计算器
时间: 2023-10-05 20:11:46 浏览: 40
好的,下面是一个简单的Android计算器示例:
1. 首先,在Android Studio中创建一个新项目,并在布局资源文件中添加一个EditText元素和多个Button元素。EditText用于显示输入和结果,而Button用于用户输入数字和操作符。
2. 在布局资源文件中,添加以下代码:
```xml
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:ems="10"
android:hint="0"
android:inputType="number"
android:textAlignment="center"
android:textSize="24sp" />
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:columnCount="4"
android:rowCount="5">
<Button
android:id="@+id/button_7"
android:layout_column="0"
android:layout_row="1"
android:text="7"
android:textSize="24sp" />
<Button
android:id="@+id/button_8"
android:layout_column="1"
android:layout_row="1"
android:text="8"
android:textSize="24sp" />
<Button
android:id="@+id/button_9"
android:layout_column="2"
android:layout_row="1"
android:text="9"
android:textSize="24sp" />
<Button
android:id="@+id/button_divide"
android:layout_column="3"
android:layout_row="1"
android:text="/"
android:textSize="24sp" />
<Button
android:id="@+id/button_4"
android:layout_column="0"
android:layout_row="2"
android:text="4"
android:textSize="24sp" />
<Button
android:id="@+id/button_5"
android:layout_column="1"
android:layout_row="2"
android:text="5"
android:textSize="24sp" />
<Button
android:id="@+id/button_6"
android:layout_column="2"
android:layout_row="2"
android:text="6"
android:textSize="24sp" />
<Button
android:id="@+id/button_multiply"
android:layout_column="3"
android:layout_row="2"
android:text="*"
android:textSize="24sp" />
<Button
android:id="@+id/button_1"
android:layout_column="0"
android:layout_row="3"
android:text="1"
android:textSize="24sp" />
<Button
android:id="@+id/button_2"
android:layout_column="1"
android:layout_row="3"
android:text="2"
android:textSize="24sp" />
<Button
android:id="@+id/button_3"
android:layout_column="2"
android:layout_row="3"
android:text="3"
android:textSize="24sp" />
<Button
android:id="@+id/button_minus"
android:layout_column="3"
android:layout_row="3"
android:text="-"
android:textSize="24sp" />
<Button
android:id="@+id/button_0"
android:layout_column="0"
android:layout_row="4"
android:layout_columnSpan="2"
android:text="0"
android:textSize="24sp" />
<Button
android:id="@+id/button_dot"
android:layout_column="2"
android:layout_row="4"
android:text="."
android:textSize="24sp" />
<Button
android:id="@+id/button_plus"
android:layout_column="3"
android:layout_row="4"
android:text="+"
android:textSize="24sp" />
<Button
android:id="@+id/button_clear"
android:layout_column="0"
android:layout_row="0"
android:layout_columnSpan="4"
android:text="C"
android:textSize="24sp" />
<Button
android:id="@+id/button_equals"
android:layout_column="0"
android:layout_row="5"
android:layout_columnSpan="4"
android:text="="
android:textSize="24sp" />
</GridLayout>
```
3. 在MainActivity.java中,添加以下代码:
```java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText editText;
private double num1 = 0, num2 = 0;
private String operator = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
findViewById(R.id.button_0).setOnClickListener(this);
findViewById(R.id.button_1).setOnClickListener(this);
findViewById(R.id.button_2).setOnClickListener(this);
findViewById(R.id.button_3).setOnClickListener(this);
findViewById(R.id.button_4).setOnClickListener(this);
findViewById(R.id.button_5).setOnClickListener(this);
findViewById(R.id.button_6).setOnClickListener(this);
findViewById(R.id.button_7).setOnClickListener(this);
findViewById(R.id.button_8).setOnClickListener(this);
findViewById(R.id.button_9).setOnClickListener(this);
findViewById(R.id.button_dot).setOnClickListener(this);
findViewById(R.id.button_plus).setOnClickListener(this);
findViewById(R.id.button_minus).setOnClickListener(this);
findViewById(R.id.button_multiply).setOnClickListener(this);
findViewById(R.id.button_divide).setOnClickListener(this);
findViewById(R.id.button_clear).setOnClickListener(this);
findViewById(R.id.button_equals).setOnClickListener(this);
}
@Override
public void onClick(View v) {
String str = editText.getText().toString();
switch (v.getId()) {
case R.id.button_0:
case R.id.button_1:
case R.id.button_2:
case R.id.button_3:
case R.id.button_4:
case R.id.button_5:
case R.id.button_6:
case R.id.button_7:
case R.id.button_8:
case R.id.button_9:
case R.id.button_dot:
Button button = (Button) v;
editText.setText(str + button.getText().toString());
break;
case R.id.button_plus:
case R.id.button_minus:
case R.id.button_multiply:
case R.id.button_divide:
Button operatorButton = (Button) v;
operator = operatorButton.getText().toString();
num1 = Double.parseDouble(str);
editText.setText("");
break;
case R.id.button_clear:
editText.setText("");
num1 = 0;
num2 = 0;
operator = "";
break;
case R.id.button_equals:
num2 = Double.parseDouble(str);
double result = 0;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
}
editText.setText(Double.toString(result));
break;
}
}
}
```
4. 运行应用程序,你将看到一个基本的计算器界面。你可以输入数字和操作符,并使用等号计算结果。
这是一个非常简单的计算器示例,你可以根据需要添加更多的功能和操作符。