gpt4 book ai didi

java - 随机算术表达式 (Android)

转载 作者:行者123 更新时间:2023-11-29 21:14:47 25 4
gpt4 key购买 nike

我的任务是创建一个 Android 应用程序,向用户展示四个级别的游戏难度。

有没有更简单的方法来制作这个项目以包括所有其他困难?

感谢任何帮助,马克

最佳答案

我想我会像这样递归地做一些事情(伪代码):

private Random rnd;

Expression randomExpression(int numTerms) {
if (numTerms == 1)
return LiteralExpression(rnd.nextInt(40 - 1) + 1)
int split = rnd.nextInt(numTerms - 1) + 1;
Expression left = randomExpression(split);
Expression right = randomExpression(numTerms - split);
Operator op = operators[rnd.nextInt(operators.length)];
return CompoundExpression(left, op, right);
}

然后顶层调用可以随机选择适合所选级别的numTermsCompoundExpressionLiteralExpression 都派生自抽象基类 Expression,并且会负责将它们的内容转换为字符串并计算想要的结果。

CompoundExpression 的字符串化尤其需要大量工作,如果您想使用所需的最少数量的括号。为此,您可能还需要有关运算符的更多信息,例如它们的优先级以及它们是否具有关联性。这就是为什么我选择让 Operator 成为一个类(或者可能是一个 enum)而不是简单的 char 的原因。当然,您可以首先使用简单的字符串化,无论是否需要,它总是将 CompoundExpression 括在括号中。一旦基本功能到位,您就可以始终致力于简化字符串,并且您实际上可以看到需要做更多工作的地方。

关于java - 随机算术表达式 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21728502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com