📅  最后修改于: 2023-12-03 15:23:49.581000             🧑  作者: Mango
科学计算器是一种计算器,可用于执行各种数学运算,包括三角函数、对数运算等。在此文章中,我们将演示如何使用 Android Studio 制作一个科学计算器应用程序。
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/calculator_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="30sp"
android:paddingHorizontal="16dp"
android:paddingVertical="24dp"
android:text="0"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button_1"
android:layout_width="0dp"
android:layout_height="0dp"
android:text="@string/button_text_1"
app:layout_constraintTop_toBottomOf="@+id/calculator_text_view"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/button_2"
app:layout_constraintBottom_toTopOf="@+id/button_4" />
<!-- 添加其他按钮的代码 -->
</androidx.constraintlayout.widget.ConstraintLayout>
public class CalculatorActivity extends AppCompatActivity {
private TextView mCalculatorTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
mCalculatorTextView = findViewById(R.id.calculator_text_view);
}
public void onButtonClick(View view) {
String buttonValue = ((Button)view).getText().toString();
String currentValue = mCalculatorTextView.getText().toString();
String newValue = currentValue;
switch (buttonValue) {
case "C":
newValue = "0";
break;
case "=":
try {
Double result = calculateResult(currentValue);
newValue = result.toString();
} catch (Exception e) {
newValue = "Error";
}
break;
default:
if (currentValue.equals("0")) {
newValue = buttonValue;
} else {
newValue += buttonValue;
}
}
mCalculatorTextView.setText(newValue);
}
private Double calculateResult(String expression) throws Exception {
return new ExpressionBuilder(expression).build().evaluate();
}
}
在上面的代码中,我们首先在 onCreate() 方法中获取对 TextView 的引用。然后,我们添加了一个名为 onButtonClick() 的公共方法,该方法是通过布局 XML 文件中的每个按钮的 android:onClick 属性调用的。在 onButtonClick() 方法中,我们获取被点击按钮的值,并根据当前的值和被点击按钮的值来修改 TextView 上的文本。我们将所有的值存储为字符串,然后使用 ExpressionBuilder 类计算表达式的结果。
在本文中,我们演示了如何使用 Android Studio 制作一个科学计算器应用程序。使用本文提供的代码和指导,您应该可以轻松创建一个功能强大的计算器,以满足您的需求。