利用 Android studio 制作一个计算机
时间: 2024-02-16 20:04:42 浏览: 73
好的,制作一个计算器需要以下步骤:
1. 创建一个新的 Android Studio 项目。
2. 在项目的布局文件中添加一个 TextView 用于显示计算结果,以及多个 Button 用于输入数字和运算符。
3. 在 MainActivity 类中,编写逻辑代码来处理按钮点击事件,以及对输入的数字和运算符进行计算。
4. 运行应用程序,测试计算器功能是否正确。
以下是一个简单的示例代码,可以让你更好地理解如何制作一个计算器:
```
public class MainActivity extends AppCompatActivity {
private TextView resultTextView;
private Button button0, button1, button2, button3, button4, button5, button6, button7, button8, button9;
private Button buttonAdd, buttonSub, buttonMul, buttonDiv, buttonClear, buttonEqual;
private String currentNumber = "";
private String currentOperator = "";
private double result = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultTextView = findViewById(R.id.resultTextView);
button0 = findViewById(R.id.button0);
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
button4 = findViewById(R.id.button4);
button5 = findViewById(R.id.button5);
button6 = findViewById(R.id.button6);
button7 = findViewById(R.id.button7);
button8 = findViewById(R.id.button8);
button9 = findViewById(R.id.button9);
buttonAdd = findViewById(R.id.buttonAdd);
buttonSub = findViewById(R.id.buttonSub);
buttonMul = findViewById(R.id.buttonMul);
buttonDiv = findViewById(R.id.buttonDiv);
buttonClear = findViewById(R.id.buttonClear);
buttonEqual = findViewById(R.id.buttonEqual);
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("0");
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("2");
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("3");
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("4");
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("5");
}
});
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("6");
}
});
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("7");
}
});
button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("8");
}
});
button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("9");
}
});
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("+");
}
});
buttonSub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("-");
}
});
buttonMul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("*");
}
});
buttonDiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("/");
}
});
buttonClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clear();
}
});
buttonEqual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate();
}
});
}
private void appendNumber(String number) {
currentNumber += number;
resultTextView.setText(currentNumber);
}
private void performOperation(String operator) {
if (currentOperator.isEmpty()) {
currentOperator = operator;
result = Double.parseDouble(currentNumber);
currentNumber = "";
} else {
calculate();
currentOperator = operator;
}
}
private void calculate() {
if (currentNumber.isEmpty()) {
return;
}
double number = Double.parseDouble(currentNumber);
switch (currentOperator) {
case "+":
result += number;
break;
case "-":
result -= number;
break;
case "*":
result *= number;
break;
case "/":
result /= number;
break;
}
currentNumber = "";
currentOperator = "";
resultTextView.setText(String.valueOf(result));
}
private void clear() {
currentNumber = "";
currentOperator = "";
result = 0;
resultTextView.setText("");
}
}
```
这是一个简单的计算器,可以进行加减乘除的计算。你可以在其中添加更多的功能,比如括号、sin、cos、tan 等函数的计算,或者添加更多的操作符,比如百分号、开根号等。
阅读全文