0

この 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
4

2 に答える 2

3

で寸法players()を記入しroll=0ますが、 までループしroll=5ます。それは明らかに配列の範囲外です。

于 2012-10-18T15:58:58.120 に答える
1

新しい変数を追加します。コードを次のように変更してみてください。

Dim MaxRolls as integer
MaxRolls = 5

それで:

Dim players(player,MaxRolls) As Integer 

それはそれを修正する必要があります

于 2012-10-18T16:05:19.207 に答える