软件工程第五次课(简单的一个计算器)<2>
用deepseek做的
总结以下几点:
1.灵活!各个方面的。
2.没了,因为这个挺简单的
展示环节(我做的哦)

附上源代码:
activity_main.xml里面的代码:( res/layout/activity_main.xml ):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/inputField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:focusable="false"
android:clickable="false"
android:textSize="24sp"
android:gravity="end"
android:padding="8dp"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="4"
android:rowCount="5">
<Button
android:id="@+id/btn7"
android:text="7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn8"
android:text="8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn9"
android:text="9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btnDivide"
android:text="/"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn4"
android:text="4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn5"
android:text="5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn6"
android:text="6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btnMultiply"
android:text="*"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn1"
android:text="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn2"
android:text="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn3"
android:text="3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btnSubtract"
android:text="-"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btn0"
android:text="0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btnDecimal"
android:text="."
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btnEquals"
android:text="="
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
<Button
android:id="@+id/btnAdd"
android:text="+"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:textSize="24sp"/>
</GridLayout>
</LinearLayout>
MainActivity.java里面的代码:
package com.example.wow3179;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
private EditText inputField;
private String currentNumber = "";
private String operation = "";
private double firstNumber = 0;
private double secondNumber = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inputField = findViewById(R.id.inputField);
// 设置数字按钮的点击事件
setNumberButtonClickListeners();
// 设置操作符按钮的点击事件
setOperationButtonClickListeners();
// 设置等号按钮的点击事件
findViewById(R.id.btnEquals).setOnClickListener(v -> calculateResult());
// 设置小数点按钮的点击事件
findViewById(R.id.btnDecimal).setOnClickListener(v -> appendDecimal());
}
private void setNumberButtonClickListeners() {
int[] numberButtonIds = {
R.id.btn0, R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4,
R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9
};
for (int id : numberButtonIds) {
findViewById(id).setOnClickListener(v -> {
Button button = (Button) v;
currentNumber += button.getText().toString();
inputField.setText(currentNumber);
});
}
}
private void setOperationButtonClickListeners() {
int[] operationButtonIds = {
R.id.btnAdd, R.id.btnSubtract, R.id.btnMultiply, R.id.btnDivide
};
for (int id : operationButtonIds) {
findViewById(id).setOnClickListener(v -> {
if (!currentNumber.isEmpty()) {
firstNumber = Double.parseDouble(currentNumber);
operation = ((Button) v).getText().toString();
currentNumber = "";
inputField.setText("");
}
});
}
}
private void calculateResult() {
if (!currentNumber.isEmpty() && !operation.isEmpty()) {
secondNumber = Double.parseDouble(currentNumber);
double result = 0;
switch (operation) {
case "+":
result = firstNumber + secondNumber;
break;
case "-":
result = firstNumber - secondNumber;
break;
case "*":
result = firstNumber * secondNumber;
break;
case "/":
if (secondNumber != 0) {
result = firstNumber / secondNumber;
} else {
inputField.setText("Error");
return;
}
break;
}
inputField.setText(String.valueOf(result));
currentNumber = String.valueOf(result);
operation = "";
}
}
private void appendDecimal() {
if (!currentNumber.contains(".")) {
currentNumber += ".";
inputField.setText(currentNumber);
}
}
}
posted on 2025-03-20 01:39 Adda...nina 阅读(16) 评论(0) 收藏 举报
浙公网安备 33010602011771号