Java 算术运算符生成器
我正在尝试创建一个android应用程序,它将是一个简单的数学游戏。它有多个难度等级,包括容易、中等、难、非常难。简单水平涉及2个整数(6+6)、3(2+2-1)、4(2+2-1/3)和5(2+3*5-3+2)之间的算术问题。我必须生成随机整数和随机算术运算。我能够显示每个难度级别的问题和操作,但找不到正确答案。无论我输入什么答案,程序都显示它不正确。例如,如果我将3+3-1回答为5或任何其他值,它将始终显示为错误。对于2个整数,我使用了switch语句,它工作得很好,但是涉及多个算术运算的问题总是错误的,不管怎么做。我把代码放在下面Java 算术运算符生成器,java,android,arrays,math,random,Java,Android,Arrays,Math,Random,我正在尝试创建一个android应用程序,它将是一个简单的数学游戏。它有多个难度等级,包括容易、中等、难、非常难。简单水平涉及2个整数(6+6)、3(2+2-1)、4(2+2-1/3)和5(2+3*5-3+2)之间的算术问题。我必须生成随机整数和随机算术运算。我能够显示每个难度级别的问题和操作,但找不到正确答案。无论我输入什么答案,程序都显示它不正确。例如,如果我将3+3-1回答为5或任何其他值,它将始终显示为错误。对于2个整数,我使用了switch语句,它工作得很好,但是涉及多个算术运算的问题
private final int ADD_OPERATOR = 0, SUBTRACT_OPERATOR = 1, MULTIPLY_OPERATOR = 2, DIVIDE_OPERATOR = 3;
private String[] operators = {"+", "-", "x", "/"};
operator = random.nextInt(operators.length);
switch(operator)
{
case ADD_OPERATOR:
answer = operand1+operand2;
break;
case SUBTRACT_OPERATOR:
answer = operand1-operand2;
break;
case MULTIPLY_OPERATOR:
answer = operand1*operand2;
break;
case DIVIDE_OPERATOR:
answer = operand1/operand2;
break;
default:
break;
}
question.setText(operand1+" "+operators[operator]+" "+operand2);
//Operand 1 and Operand 2 are 2 Random Integers
public void onClick(View view)
{
//button clicked
if(view.getId()==R.id.enter){
//enter button
String answerContent = answerTxt.getText().toString();
if(!answerContent.endsWith("?"))
{
//we have an answer}
int enteredAnswer = Integer.parseInt(answerContent.substring(2));
int exScore = getScore();
if(enteredAnswer==answer){
//correct
scoreTxt.setText("Score: "+(exScore+1));
response.setImageResource(R.drawable.tick);
response.setVisibility(View.VISIBLE);
}else{
//incorrect
scoreTxt.setText("Score: 0");
response.setImageResource(R.drawable.cross);
response.setVisibility(View.VISIBLE);
}
chooseQuestion();
}}
else if(view.getId()==R.id.clear){
//clear button
answerTxt.setText("= ?");
}
else {
//number button
response.setVisibility(View.INVISIBLE);
int enteredNum = Integer.parseInt(view.getTag().toString());
if(answerTxt.getText().toString().endsWith("?"))
answerTxt.setText("= "+enteredNum);
else
answerTxt.append(""+enteredNum);
}
}
我将用户答案存储为answeredtext。
关于如何进行多个算术运算的任何帮助。谢谢请发布多个操作的代码,以及如何比较用户答案和正确答案。我还添加了存储用户答案的代码。谢谢你在任何时候都可以检查你在enteredAnswer中的实际内容吗?尝试调试它(最简单的方法是在屏幕上创建一些显示输入的拒绝值的文本)。同时显示“答案”的值。这样你就能知道你的实际值了。我要检查答案是否正确存储。问题是,它不适用于多个算术运算。因此,发布多个arihtetic的代码,因为这一个总是创建简单的。