【发布时间】:2020-11-17 05:45:11
【问题描述】:
颤振和飞镖。 嘿,我正在尝试在颤振应用程序中生成唯一的随机数。我在哪里生成 4 个随机整数,它们是两个随机整数相加的答案选项。基本上我正在生成随机添加问题。假设 4 + 5。我给用户 4 个选项,如 2、4、20、9。我试图使选项独一无二,一旦生成,然后将其设置为 Text() 小部件。 但是我的表达式需要很长时间才能生成超过 5 秒或有时 15 到 20 秒的结果。有什么方法可以快速生成 4 个随机唯一整数?因为这只是一场30秒的比赛。我想在用户按下当前问题的答案后立即为下一个问题生成答案
import 'dart:math';
void main() {
GenerateQuestion g = new GenerateQuestion();
g.generateNum();
}
class GenerateQuestion {
var num1, num2, num3, num4;
Random random = new Random();
void generateNum() {
num1 = random.nextInt(20);
num2 = random.nextInt(20);
num3 = random.nextInt(20);
num4 = random.nextInt(20);
bool flag = true;
while (flag == true) {
if (num1 != num2 && num1 != num3) {
if (num1 != num4 && num2 != num3) {
if (num2 != num4 && num3 != num4) {
print(num1);
print(num2);
print(num3);
print(num4);
flag = false;
}
}
} //if condition ends here
else {
num1 = random.nextInt(20);
num2 = random.nextInt(20);
num3 = random.nextInt(20);
num4 = random.nextInt(20);
flag = true;
} // else part ends here
} // while ends here
} // generateNum() method ends here
}
还有一件事。这只是我在 Dartpad 中尝试的单独代码。因此它不包含小部件。我正在调用按钮的 onPressed 函数。但是当应用程序第一次启动时,它向我显示值 null。是的,因为未调用的函数应该显示为空。但是如何在加载小部件之前调用它,然后像 onPressed 一样开始工作?
【问题讨论】:
-
使用一套数据结构,将随机数压入其中,直到长度为4。
标签: android performance flutter dart