我正在尝试使用此Visual Basic程序将值存储在多维数组中。由于索引在数组的边界之外,我看到的所有其他错误都是由于数组在变量之前声明的事实,但我很确定我在正确的位置声明了我的错误。任何人都可以看到什么是错的?
Randomize()
Dim roll As Integer = 0
Dim player As Integer
Dim index As Integer
Console.Writeline("Enter the number of players: ")
index = Convert.ToInt32(Console.Readline)
player = index - 1
Dim players(player,roll) As Integer
Do Until index = 0
Do Until roll = 5
players(player,roll) = CInt(Int((6 * Rnd()) + 1))
roll +=1
Loop
player -=1
Loop
答案 0 :(得分:3)
您使用players()
标注roll=0
,但随后循环到roll=5
。这显然超出了数组的范围。
答案 1 :(得分:1)
我添加了一个新变量 - 尝试将代码更改为:
Dim MaxRolls as integer
MaxRolls = 5
然后:
Dim players(player,MaxRolls) As Integer
那应该解决它