Witam. Piszę pokera na konsolę. Na razie karty powinny być pokazywane w konsoli, ale mam problem z zapisaniem i wyświetleniem piątej karty pierwszego gracza (linia 56.). Tablice są odpowiednich rozmiarów, mimo to wyskakuje mi ArrayIndexOutOfBoundsException. Proszę o podpowiedź.
import java.lang.Math;
import java.util.Scanner;
public class Poker{
public static void main(String[] args){
// pobieranie liczby graczy
Scanner input = new Scanner(System.in);
System.out.println("Podaj liczbę graczy: ");
int liczbaGraczy = input.nextInt();
// tablice z rodzajami i kolorami kart
String[] rodzajeKart = {"2", "3", "4", "5", "6", "7", "8", "9", "Walet", "Dama", "Król", "As"};
String[] koloryKart = {"pik", "karo", "trefl", "kier"};
// tablice z kartami graczy
String[][] graczRodzajeKart = new String[4][liczbaGraczy];
String[][] graczKoloryKart = new String[4][liczbaGraczy];
// wielkość tablic
final int LICZBARODZAJOW = 12;
final int LICZBAKOLOROW = 4;
// zmienne do losowania kart
int wylosowanyRodzaj, wylosowanyKolor;
// losowanie i wyświetlenie kart graczy
for(int i = 0; i<liczbaGraczy; i++){
wylosowanyRodzaj = (int)(Math.random()*LICZBARODZAJOW);
wylosowanyKolor = (int)(Math.random()*LICZBAKOLOROW);
graczRodzajeKart[0][i] = rodzajeKart[wylosowanyRodzaj-1];
graczKoloryKart[0][i] = koloryKart[wylosowanyKolor];
System.out.printf("%-18s %-8s %-8s %n","Pierwsza karta: ", graczRodzajeKart[0][i], graczKoloryKart[0][i]);
wylosowanyRodzaj = (int)(Math.random()*LICZBARODZAJOW);
wylosowanyKolor = (int)(Math.random()*LICZBAKOLOROW);
graczRodzajeKart[1][i] = rodzajeKart[wylosowanyRodzaj-1];
graczKoloryKart[1][i] = koloryKart[wylosowanyKolor];
System.out.printf("%-18s %-8s %-8s %n","Druga karta: ", graczRodzajeKart[1][i], graczKoloryKart[1][i]);
wylosowanyRodzaj = (int)(Math.random()*LICZBARODZAJOW);
wylosowanyKolor = (int)(Math.random()*LICZBAKOLOROW);
graczRodzajeKart[2][i] = rodzajeKart[wylosowanyRodzaj-1];
graczKoloryKart[2][i] = koloryKart[wylosowanyKolor];
System.out.printf("%-18s %-8s %-8s %n","Trzecia karta: ", graczRodzajeKart[2][i], graczKoloryKart[2][i]);
wylosowanyRodzaj = (int)(Math.random()*LICZBARODZAJOW);
wylosowanyKolor = (int)(Math.random()*LICZBAKOLOROW);
graczRodzajeKart[3][i] = rodzajeKart[wylosowanyRodzaj-1];
graczKoloryKart[3][i] = koloryKart[wylosowanyKolor];
System.out.printf("%-18s %-8s %-8s %n","Czwarta karta: ", graczRodzajeKart[3][i], graczKoloryKart[3][i]);
wylosowanyRodzaj = (int)(Math.random()*LICZBARODZAJOW);
wylosowanyKolor = (int)(Math.random()*LICZBAKOLOROW);
graczRodzajeKart[4][i] = rodzajeKart[wylosowanyRodzaj-1];
graczKoloryKart[4][i] = koloryKart[wylosowanyKolor];
System.out.printf("%-18s %-8s %-8s %n","Piąta karta: ", graczRodzajeKart[4][i], graczKoloryKart[4][i]);
System.out.println();
}
// do zrobienia
for (int i=0; i<graczRodzajeKart.length; i++){
for (int j=1; j<graczRodzajeKart.length-i; j++){
if (graczRodzajeKart[0][i] != graczRodzajeKart[0][graczRodzajeKart.length-j])
System.out.print("");
else System.out.print("powtórzenie");
if (graczRodzajeKart[1][i] != graczRodzajeKart[1][graczRodzajeKart.length-j])
System.out.print("");
else System.out.print("powtórzenie");
if (graczRodzajeKart[2][i] != graczRodzajeKart[2][graczRodzajeKart.length-j])
System.out.print("");
else System.out.print("powtórzenie");
if (graczRodzajeKart[3][i] != graczRodzajeKart[3][graczRodzajeKart.length-j])
System.out.print("");
else System.out.print("powtórzenie");
if (graczRodzajeKart[4][i] != graczRodzajeKart[4][graczRodzajeKart.length-j])
System.out.print("");
else System.out.print("powtórzenie");
}
}
}
}