在Android中开发两个数的加减乘除运算,给出详细的代码和文件路径
时间: 2024-09-27 22:16:53 浏览: 49
在Android中,你可以创建一个简单的Activity来提供用户界面,然后通过Java或Kotlin编写一个自定义的Calculator类来进行加、减、乘、除运算。这里是一个基本的Java示例:
首先,在`MainActivity.java`中引入所需的权限并设置操作布局:
```java
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 {
private EditText num1EditText, num2EditText, resultTextView;
private Button addButton, subtractButton, multiplyButton, divideButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化UI控件
num1EditText = findViewById(R.id.num1);
num2EditText = findViewById(R.id.num2);
resultTextView = findViewById(R.id.result);
addButton = findViewById(R.id.add_button);
subtractButton = findViewById(R.id.subtract_button);
multiplyButton = findViewById(R.id.multiply_button);
divideButton = findViewById(R.id.divide_button);
// 绑定按钮点击事件
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate("add", num1EditText.getText().toString(), num2EditText.getText().toString());
}
});
// 其他按钮同理
// ... (添加剩下按钮的点击监听)
}
private void calculate(String operation, String num1, String num2) {
try {
int num1Int = Integer.parseInt(num1);
int num2Int = Integer.parseInt(num2);
switch (operation) {
case "add":
resultTextView.setText(String.valueOf(num1Int + num2Int));
break;
case "subtract":
resultTextView.setText(String.valueOf(num1Int - num2Int));
break;
case "multiply":
resultTextView.setText(String.valueOf(num1Int * num2Int));
break;
case "divide":
if (num2Int != 0) {
resultTextView.setText(String.valueOf(num1Int / num2Int));
} else {
resultTextView.setText("Error: Division by zero");
}
break;
default:
resultTextView.setText("Invalid operation");
}
} catch (NumberFormatException e) {
resultTextView.setText("Error: Invalid input");
}
}
}
```
接下来,你需要创建一个XML布局文件`activity_main.xml`,包含两个输入框(EditText),四个计算按钮以及一个结果显示区域(TextView):
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/num1"
android:hint="Number 1"
android:inputType="numberDecimal" />
<EditText
android:id="@+id/num2"
android:hint="Number 2"
android:inputType="numberDecimal" />
<LinearLayout
android:orientation="horizontal"
android:weightSum="4">
<Button
android:id="@+id/add_button"
android:text="+"
android:layout_weight="1"/>
<Button
android:id="@+id/subtract_button"
android:text="-"
android:layout_weight="1"/>
<Button
android:id="@+id/multiply_button"
android:text="x"
android:layout_weight="1"/>
<Button
android:id="@+id/divide_button"
android:text="/"
android:layout_weight="1"/>
</LinearLayout>
<TextView
android:id="@+id/result"
android:gravity="center"
android:textSize="24sp"
tools:text="Result will be shown here" />
</LinearLayout>
```
将这两个文件放在项目的`res/layout`目录下,并确保应用已经启用了运行时权限,如果你需要读取用户输入。
注意:这个例子仅用于教学目的,实际应用中应考虑异常处理和用户体验的优化。
阅读全文