Du multiplizierst die Zufallszahl und indizierst damit das Array. Hier findet eine implizite Typumwandlung statt, und die rundet nicht auf den kleineren, sonderen auf den nächsten Wert. Bei size 2, also einem Array 6x6, bkommst du also 50% weniger Treffer auf 0 und 6 als auf 1,2,3,4 und 5. Da du zwei Zufallzahlen benötigst hast du am Index [0;0] nicht die Hälfte, sondern nur eine Viertel aller Treffer. Da die 6 genauso selten wie die eins getroffen wird müsste ein 2D-Array am Ende eigentlich an allen vier Ecken 1/4, auf den Geraden zwischen den Ecken 1/2 und der Rest 1 der Trefferhäufigkeit haben. Das du das nicht siehst liegt daran, dass es den Index 6 in einem Array der Größe 6x6 nicht gibt. Wenn du die Zufahlszahlen anstatt mit Arraylänge mit Arraylänge-1 multiplizierst erkennst du sofort den Fehler. Lösung siehe unten.
Edit: Ich sollte vor dem Antworten auf Vorschau drücken, dann hätte ich gesehen, dass Jens schon vor Urzeiten geantwortet hatte.