完成一个二数四则运算程序。(1)要求二数随机产生,(2)要求有一个文本框接受用户的输入值 ,并提供判断用户的作答是否正确。(3)用Toast进行消息的提示
时间: 2024-10-21 13:10:54 浏览: 13
编写一个简单的Android应用程序,用于完成二数四则运算,你可以按照以下步骤进行:
1. **设置布局**:
使用XML创建一个基本的用户界面,包含两个EditText用于显示随机生成的数字,一个TextView用于展示题目,一个EditText让用户输入答案,以及一个Button触发计算操作。还需要一个Toast组件来显示结果反馈。
```xml
<LinearLayout>
<EditText> <!-- 数字1 -->
</EditText>
<EditText> <!-- 加法符号或运算符 -->
</EditText>
<EditText> <!-- 数字2 -->
</EditText>
<Button> <!-- 计算按钮 -->
<onClick="onCalculateClick"
</Button>
<TextView> <!-- 显示答案的地方 -->
</TextView>
<Button> <!-- 提示按钮 -->
<onClick="onCheckAnswerClick"
</Button>
</LinearLayout>
```
2. **Java代码**:
- 首先,在Activity中获取UI元素,并设置Random类生成随机数。
- 实现`onCalculateClick`方法,生成随机运算题并显示到界面上。
- 当用户点击"检查答案"按钮时,验证用户输入,并用Toast显示结果。
```java
public class MainActivity extends AppCompatActivity {
private EditText num1, num2, answer;
private Button calculate, check;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化UI组件
num1 = findViewById(R.id.editText_num1);
num2 = findViewById(R.id.editText_num2);
answer = findViewById(R.id.editText_answer);
calculate = findViewById(R.id.button_calculate);
check = findViewById(R.id.button_check);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int num1Value = Integer.parseInt(num1.getText().toString());
int num2Value = Integer.parseInt(num2.getText().toString());
Random random = new Random();
int operator = random.nextInt(4); // 可选加、减、乘、除
String operation = Operation.getOperator(operator);
String question = num1Value + " " + operation + " " + num2Value;
answer.setText(question);
}
});
check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int userAnswer = Integer.parseInt(answer.getText().toString());
int correctAnswer = performOperation(userAnswer);
if (correctAnswer == userAnswer) {
Toast.makeText(MainActivity.this, "回答正确!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "回答错误!正确答案是:" + correctAnswer, Toast.LENGTH_SHORT).show();
}
}
private int performOperation(int userAnswer) {
// 根据之前生成的运算符执行对应的操作
// 假设operator已保存为整数值
switch (operator) {
case 0: return num1Value + num2Value;
case 1: return num1Value - num2Value;
case 2: return num1Value * num2Value;
case 3: return num1Value / num2Value; // 别忘了处理除数为零的情况
}
}
});
}
}
```
阅读全文