Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 算术运算符生成器_Java_Android_Arrays_Math_Random - Fatal编程技术网

Java 算术运算符生成器

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语句,它工作得很好,但是涉及多个算术运算的问题

我正在尝试创建一个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的代码,因为这一个总是创建简单的。