Есть ли метод для исключения обработки связанной ошибки в цикле for двумерных массивов - PullRequest
1 голос
/ 02 ноября 2019

Я не уверен, как исправить эту ошибку, заявив: Исключение в потоке "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;
                }
            }
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...