Mam problem z równym wyświetleniem tekstu w konsoli, niby zastosowałem tabulatory, w kodzie wygląda to prawidłowo, a za każdym uruchomieniem programu niektóre karty dostają jakby jeden tabulator za dużo i wygląda to tak jak na obrazku. Nie mam pomysłu gdzie może być błąd, albo jak go zlokalizować. Proszę o pomoc.
import java.util.Arrays;
public class Rozdanie
{
String cyfry[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Walet", "Dama",
"Krol", "As"};
String kolory[] = {"Trefl", "Karo", "Kier", "Pik"};
String[] KartyGracza = new String[5];
String[] KartyGraczaDwa = new String[5];
String[] KartyGraczaTrzy = new String[5];
String AktualnieWylosowana;
int cyfra;
int kolor;
Rozdanie()
{
Arrays.fill(KartyGracza, " ");
Arrays.fill(KartyGraczaDwa, " ");
Arrays.fill(KartyGraczaTrzy, " ");
System.out.print("Gracz 1:");
System.out.print("\t\tGracz 2:");
System.out.println("\t\tGracz 3:");
Rozdaj(KartyGracza);
Rozdaj(KartyGraczaDwa);
Rozdaj(KartyGraczaTrzy);
wyswietl();
}
public void wyswietl()
{
for (int h = 0; h < KartyGracza.length; h++)
{
System.out.print("\t" + KartyGracza[h]);
System.out.print("\t\t" + KartyGraczaDwa[h]);
System.out.println("\t\t\t" + KartyGraczaTrzy[h]);
}
}
public boolean ifRepeat()
{
boolean ifTrue = false;
for (int j = 0; j < KartyGracza.length; j++)
{
if (KartyGracza[j].equals(AktualnieWylosowana)
| KartyGraczaDwa[j].equals(AktualnieWylosowana)
| KartyGraczaTrzy[j].equals(AktualnieWylosowana))
{
ifTrue = true;
break;
}
else
{
ifTrue = false;
}
}
return ifTrue;
}
public void Rozdaj(String[] Karty)
{
for (int i = 0; i < Karty.length; i++)
{
cyfra = (int) (Math.random() * 14);
kolor = (int) (Math.random() * 4);
AktualnieWylosowana = cyfry[cyfra] + " " + kolory[kolor];
if (ifRepeat())
{
i--;
}
else
{
Karty[i] = cyfry[cyfra] + " " + kolory[kolor];
}
}
}
}