Вы должны сбросить num на 0 для каждой итерации для l oop:
int suit;
String[] suitList = {"c", "d", "h", "s"};
for (int i = 0; i < 5; i++){
int num = 0;
while (suitList[num].equals(testHand[i].substring(0,1)) == false){
num++;
}
suit = num + 1;
}
В противном случае оно может превысить 3
после первой итерации для l oop.
Кстати, ваше состояние может быть улучшено следующим образом:
int suit;
String[] suitList = {"c", "d", "h", "s"};
for (int i = 0; i < 5; i++){
int num = 0;
while (!testHand[i].startsWith(suitList[num]))) {
num++;
}
suit = num + 1;
}