我正在尝试创建一个代码,该代码生成10到30范围内的随机数,但要确保没有重复的数字。当我运行代码时,它在(NumArray(Count)= Count)上显示“下标超出范围”。这是代码:
'Make an array of completely sorted numbers
FOR Count = 10至30
NumArray(Count)= Count
帮助。这实际上不是我的代码。复制并粘贴以供我分配。
似乎您缺少一些DIM
语句。
包含数字的变量默认情况下为SINGLE
类型,因此您可能会看到类似FOR Counter = 18.726493 TO 20
的信息,因为RND
函数返回的数字介于0到1之间(不包括1),这意味着您将尝试使用NumArray(18.726493)
将不起作用。
未明确声明的数组只能有10个索引从0到9的项目,但范围10-30要求您存储21个项目(30 - 10 + 1 = 21
)。如果可以使您的代码更容易理解,您还可以指定自定义的上限和下限。将这些行添加到上面显示的代码的第一行之前:
DIM Number AS INTEGER
DIM NumArray(10 TO 30) AS INTEGER
这将确保Number
仅包含整数(任何小数值都舍入为最接近的整数),并且NumArray
将在NumArray(10)
到NumArray(30)
的范围内工作,但不能使用NumArray(9)
,[C0 ],NumArray(8)
等。索引必须在10-30的范围内。
我认为这应该可以解决您的代码,但是由于我不完全了解代码的工作原理,因此我不确定。至少,它将解决您代码中的类型和下标问题。