Flutter 不同尺寸的颤振随机数发生器

Flutter 不同尺寸的颤振随机数发生器,flutter,Flutter,我正在构建一个语言教学应用程序,为用户提供每个主题的测验 我找到了一个简单的测验结构解决方案。 但问题是,每个测验都有不同的大小,我不知道如何调整随机数生成器,以便它只为当前测验大小生成随机数 我需要一个自我调节的RNG,但我没有想象如何做到这一点 这是我的随机数发生器 genrandomarray() { var distinctIds = []; var rand = new Random(); for (int i = 0;;) { distinctId

我正在构建一个语言教学应用程序,为用户提供每个主题的测验

我找到了一个简单的测验结构解决方案。 但问题是,每个测验都有不同的大小,我不知道如何调整随机数生成器,以便它只为当前测验大小生成随机数

我需要一个自我调节的RNG,但我没有想象如何做到这一点

这是我的随机数发生器

genrandomarray() {
    var distinctIds = [];
    var rand = new Random();
    for (int i = 0;;) {
      distinctIds.add(rand.nextInt(10) + 1);
      random_array = distinctIds.toSet().toList();
      if (random_array.length < 10) {
        continue;
      } else {
        break;
      }
    }
    print(random_array);

  }
genrandomarray(){
var差异=[];
var rand=new Random();
对于(int i=0;;){
添加(兰特耐克斯汀(10)+1);
random_数组=differentids.toSet().toList();
if(随机数组长度<10){
持续
}否则{
打破
}
}
打印(随机数组);
}

例如,一个主题有12个问题,一个主题有30个问题,依此类推。

如果可以通过参数传递,则最大值是正确的方式:

Random rnd;
int min = 0;
int max = 10;
rnd = new Random();
r = min + rnd.nextInt(max - min);
print("$r is in the range of $min and $max");
genrandomarray(int max_value) {
    var distinctIds = [];
    var rand = new Random();

    rand = rand.nextInt(max_value);
    
    for (int i = 0;i<rand;i++) {
      distinctIds.add(rand.nextInt(10) + 1);
      random_array = distinctIds.toSet().toList();
      if (random_array.length < 10) {
        continue;
      } else {
        break;
      }
    }
    print(random_array);
}
genrandomarray(int max_值){
var差异=[];
var rand=new Random();
rand=rand.nextInt(最大值);

对于(int i=0;iI)我收到以下错误:无法将“int”类型的值分配给“Random”类型的变量。无法将参数类型“Random”分配给参数类型“num”。