使用Android studio 编写一个无优先级的计算器
时间: 2024-04-21 08:05:02 浏览: 101
好的,下面是一个简单的无优先级计算器的实现:
1. 创建一个新的 Android Studio 项目,并在布局文件中添加一个 EditText 控件用于显示计算结果,以及一些 Button 按钮用于实现计算功能。
2. 在 MainActivity 类中添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
private EditText resultEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultEditText = findViewById(R.id.resultEditText);
}
public void onButtonClick(View view) {
Button button = (Button) view;
String buttonText = button.getText().toString();
String currentText = resultEditText.getText().toString();
if (buttonText.equals("C")) {
resultEditText.setText("");
} else if (buttonText.equals("=")) {
double result = evaluate(currentText);
resultEditText.setText(String.valueOf(result));
} else {
resultEditText.setText(currentText + buttonText);
}
}
private double evaluate(String expression) {
String[] tokens = expression.split(" ");
double result = Double.parseDouble(tokens[0]);
for (int i = 1; i < tokens.length; i += 2) {
String operator = tokens[i];
double operand = Double.parseDouble(tokens[i + 1]);
if (operator.equals("+")) {
result += operand;
} else if (operator.equals("-")) {
result -= operand;
} else if (operator.equals("*")) {
result *= operand;
} else if (operator.equals("/")) {
result /= operand;
}
}
return result;
}
}
```
3. 在布局文件中为每个 Button 按钮添加一个 onClick 属性,值为 "onButtonClick" 方法名。
4. 运行应用程序,即可使用无优先级计算器进行简单的加减乘除计算。
注意:这个实现只支持两个操作数的计算,如果需要支持多个操作数的计算,需要对 evaluate 方法进行修改。另外,这个实现也没有对除数为零的情况进行处理,需要根据实际需求进行修改。
阅读全文