2012-10-18 98 views
0

我試圖讓這個Visual Basic程序將值存儲在多維數組中。由於索引超出了數組範圍,所有其他錯誤都是由於數組是在變量之前聲明的,但我很確定我在正確的地方聲明瞭我的名字。任何人都可以看到有什麼不對?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 

回答

3

你維度players()roll=0,但隨後循環,直到roll=5。這顯然超出了你的數組範圍。

+0

哎呀,這是一個很明顯的錯誤,謝謝。 (最好在7分鐘內回答)。 – user1739123

1

我會在一個新的變量添加 - 試着改變你的代碼如下:

Dim MaxRolls as integer 
MaxRolls = 5 

然後:

Dim players(player,MaxRolls) As Integer 

這應該修復它