Java Android-计算和存储算术表达式的答案

Java Android-计算和存储算术表达式的答案,java,android,math,android-layout,arithmetic-expressions,Java,Android,Math,Android Layout,Arithmetic Expressions,要得到这个问题的答案,最好的方法是使用随机数和随机运算符 editTextEquation.setText(random1 +(String.valueOf(ops[i1]) + random2 + (String.valueOf(ops[i2])+ random3 + (String.valueOf(ops[i3])+ random4)))); 我显示这个问题,然后根据用户输入检查答案。我想我需要先存储答案。如有任何帮助/建议,将不胜感激 下面是我如何生成表达式的: int r

要得到这个问题的答案,最好的方法是使用随机数和随机运算符

  editTextEquation.setText(random1 +(String.valueOf(ops[i1]) + random2 +     (String.valueOf(ops[i2])+ random3 + (String.valueOf(ops[i3])+ random4))));
我显示这个问题,然后根据用户输入检查答案。我想我需要先存储答案。如有任何帮助/建议,将不胜感激

下面是我如何生成表达式的:

 int random1 = (int)(Math.random()*100);
 int random2 = (int)(Math.random()*100);
 int random3 = (int)(Math.random()*200);
 int random4 = (int)(Math.random()*20);

 int min = 0;
 int max = 3;
 Random r = new Random();
 int i1 = r.nextInt(max - min);
 int i2 = r.nextInt(max - min);
 int i3 = r.nextInt(max - min);

 char[] ops = { '+', '-', '/', '*' };

 int answer;

你需要坚持多久才能得到答案

如果时间很短,一个变量就足够了


如果你需要很长时间,考虑创建一个SQLite数据库来存储它。为表达式生成一个ID,并将它们存储在数据库中。然后,您可以稍后在空闲时查找它们。

如果您只有一些小问题,因此只有几个
+
-
等,您可以尝试创建一个字符串来表示它,并创建一个底层操作来查找答案,例如

public int calculate(int operation, int a, int b, int c) {
    if (operation ==1) {
        //must be all plus
        return a+b+c;
    }else if (operation ==2)
        //another case
        return a+b-c;
    }else if ( etc etc

}

public void displayQuestion(int operation, int a, int b, int c) {
   if(operation ==1) {
      System.out.println(a + " + " + b + " + " + c + " =");
   }else if( etc etc
}

然后,您可以显示每个问题并根据问题内容请求答案。这是一种简单的方法,需要您指定每个案例。你可以很容易地使它变得更智能,这是一种快速简单的方法,正确地完成它(将字符串解析为数学查询)有点困难,我需要回到我的实际工作中去

看起来您将操作数存储为字符串,您是否考虑过将它们存储为
int/double
,这应该会转移一些获取值的逻辑,并且意味着您可以每次只计算答案您能更精确并给出更多吗examples@dann.dev,我该怎么做?把char改成int?然后调整setText代码?抱歉,看错了问题,请查看下面我的答案,这是一种快速的破解方法,但它会完成任务。如何使用变量计算答案?创建一个
表达式
类,封装用户正在查看的表达式字符串,并给出一个
解决方案
成员。那么你就得到了答案,只要你还得到了
表达式
。至于计算答案,我想我假设你已经把那个部分整理好了,因为你似乎对存储它更感兴趣。