在android studio实现一个计数器
时间: 2023-11-30 09:42:43 浏览: 26
以下是在Android Studio实现一个简单计算器的步骤和代码:
1. 在activity_main.xml文件中添加UI元素,例如TextView和Button,用于显示计算器的数字和操作符。
2. 在MainActivity.java文件中定义UI元素的变量,并在onCreate()方法中初始化它们。
3. 为每个按钮添加点击事件,例如数字按钮和操作符按钮,以及清除和等于按钮。
4. 在点击事件中编写逻辑代码,例如将数字添加到TextView中,执行加减乘除操作等。
5. 最后,在TextView中显示计算结果。
以下是一个简单的计算器示例代码:
```java
public class MainActivity extends AppCompatActivity {
private TextView resultTextView;
private Button clearButton, equalsButton, addButton, subtractButton, multiplyButton, divideButton;
private String currentNumber = "";
private String operation = "";
private double result = Double.NaN;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultTextView = findViewById(R.id.resultTextView);
clearButton = findViewById(R.id.clearButton);
equalsButton = findViewById(R.id.equalsButton);
addButton = findViewById(R.id.addButton);
subtractButton = findViewById(R.id.subtractButton);
multiplyButton = findViewById(R.id.multiplyButton);
divideButton = findViewById(R.id.divideButton);
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentNumber = "";
operation = "";
result = Double.NaN;
resultTextView.setText("");
}
});
equalsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!Double.isNaN(result)) {
double secondNumber = Double.parseDouble(currentNumber);
if (operation.equals("+")) {
result += secondNumber;
} else if (operation.equals("-")) {
result -= secondNumber;
} else if (operation.equals("*")) {
result *= secondNumber;
} else if (operation.equals("/")) {
result /= secondNumber;
}
resultTextView.setText(String.valueOf(result));
currentNumber = "";
operation = "";
}
}
});
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("+");
}
});
subtractButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("-");
}
});
multiplyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("*");
}
});
divideButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
performOperation("/");
}
});
for (int i = 0; i < 10; i++) {
int id = getResources().getIdentifier("button" + i, "id", getPackageName());
Button button = findViewById(id);
final int finalI = i;
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentNumber += String.valueOf(finalI);
resultTextView.setText(currentNumber);
}
});
}
}
private void performOperation(String operation) {
if (Double.isNaN(result)) {
result = Double.parseDouble(currentNumber);
} else {
double secondNumber = Double.parseDouble(currentNumber);
if (this.operation.equals("+")) {
result += secondNumber;
} else if (this.operation.equals("-")) {
result -= secondNumber;
} else if (this.operation.equals("*")) {
result *= secondNumber;
} else if (this.operation.equals("/")) {
result /= secondNumber;
}
}
this.operation = operation;
currentNumber = "";
}
}
```