Я не уверен, как исправить эту ошибку, заявив: Исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: Индекс 13 выходит за пределы длины 13 в p7_9.fillDeck (p7_9.java:23) в p7_9. (P7_9.java: 13) в p7_9.main (p7_9.java:17)
Я пытался настроить размер массива или инициализировать i = 1;вместо этого, чтобы помочь. Что я делаю не так в своем коде?
public class p7_9 {
int cards = 13;
int face = 4;
private String[][] deck = new String[cards][face]; // The deck of cards
private String[][] suits = new String[cards][face]; // used to print suits for deck
private String[] shuffledDeck = new String[52]; // this is the deck that is dealt from
private String[] shuffledSuit = new String[52]; // this is used to keep track of suits
private String[] newCard = new String[5]; // What will be scored
private String[] newSuit = new String[5]; // What will be scored
private p7_9() {
fillDeck();
}
public static void main(String[] args) {
p7_9 poker = new p7_9();
}
private void fillDeck() {
int i;
int j;
for (i = 0; i < deck[cards].length; i++) {
for (j = 0; j < deck[face].length; j++) {
// Fills out the card values
switch (i) {
case 10:
deck[i][j] = " Joker";
break;
case 11:
deck[i][j] = " Queen";
break;
case 12:
deck[i][j] = " King";
break;
case 0:
deck[i][j] = " Ace";
break;
default:
deck[i][j] = " " + (i + 1);
break;
}
switch (j) {
case 0:
suits[i][j] = "Spades";
break;
case 1:
suits[i][j] = "Clubs";
break;
case 2:
suits[i][j] = "Diamonds";
break;
case 3:
suits[i][j] = "Hearts";
break;
}
}
}
}
}