android studio 可连续进行加减乘除并无优先级的计算器代码
时间: 2023-11-02 20:06:45 浏览: 91
以下是基于 Android Studio 的可连续进行加减乘除并无优先级的计算器代码:
首先,在 XML 文件中添加一个 TextView 用于显示计算结果,和四个 Button 分别表示加减乘除:
```
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"/>
<Button
android:id="@+id/addButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"/>
<Button
android:id="@+id/subtractButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-"/>
<Button
android:id="@+id/multiplyButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"/>
<Button
android:id="@+id/divideButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/"/>
```
接下来,在 Java 文件中定义一个变量用于保存当前计算结果,以及四个监听器分别处理加减乘除的操作:
```
public class MainActivity extends AppCompatActivity {
private double result = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView resultTextView = findViewById(R.id.resultTextView);
Button addButton = findViewById(R.id.addButton);
Button subtractButton = findViewById(R.id.subtractButton);
Button multiplyButton = findViewById(R.id.multiplyButton);
Button divideButton = findViewById(R.id.divideButton);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = resultTextView.getText().toString();
if (!text.isEmpty()) {
double value = Double.parseDouble(text);
result += value;
resultTextView.setText(String.valueOf(result));
}
}
});
subtractButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = resultTextView.getText().toString();
if (!text.isEmpty()) {
double value = Double.parseDouble(text);
result -= value;
resultTextView.setText(String.valueOf(result));
}
}
});
multiplyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = resultTextView.getText().toString();
if (!text.isEmpty()) {
double value = Double.parseDouble(text);
result *= value;
resultTextView.setText(String.valueOf(result));
}
}
});
divideButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = resultTextView.getText().toString();
if (!text.isEmpty()) {
double value = Double.parseDouble(text);
if (value != 0) {
result /= value;
resultTextView.setText(String.valueOf(result));
} else {
resultTextView.setText("Error");
}
}
}
});
}
}
```
在监听器中,首先获取 TextView 中的文本,并将其转换为 double 类型的数值。然后根据不同的操作符,对当前计算结果进行加减乘除的操作,并将结果更新到 TextView 中。注意,如果除数为 0,则需要特殊处理,这里直接将结果设为 "Error"。
这样,就完成了一个简单的可连续进行加减乘除并无优先级的计算器。
阅读全文