Problème d'indice out of bounds

eliereve Messages postés 6 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour, j'ai un problème en java pour un jeux de patience ou klondike que j'essaie de coder, le problème c'est que l'indice dépasse la limite du tableau visiblement.
J'ai créé des tableaux d'objets stack pour les quatre pioches et 7decks autrement dit des tas pour les colonnes de cartes qui décroissent successivement en nombre. Donc stack, c'est un type que j'ai créé, je mets le code des classes à la fin.



final int pieux_count=4;
final int decks_count=7;

Stack [] pieux_4=new Stack[pieux_count];
Deck_dealer [] decks=new Deck_dealer[decks_count];
int i=0;
do
{
decks[i]=new Deck_dealer();
int j=0;
do
{
decks[j].deck.get(j).add_card(stack, j);
j++;
}while(j<i+1);
i++;
}while(i<decks_count);



classe stack avec constructeur :

package patience;

public class Stack extends Deck
{
public Stack(Deck_dealer full_cards_deck)
{
this.deck=full_cards_deck.deck;
}


classe Deck avec constructeur :
package patience;

import java.util.ArrayList;

public class Deck
{
protected ArrayList<Card>deck=new ArrayList<>();
/*
  • Constructeur d'un paquet vide dans une classe mere dont heriteront d'autres classes chargees , soit de creer un paquet ou de recevoir des cartes avec des conditions.
  • /

protected Deck()
{
this.deck=new ArrayList<Card>();
}

2 réponses

NHenry Messages postés 15479 Statut Modérateur 366
 
A la place d'utiliser des while, je te conseil plutôt d'utiliser des boucles for leur syntaxe est plus adaptée à ce que tu fais.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

Je dirais que dans
decks[j].deck.get(j)
il devrait y avoir un i et un j, mais pas deux j...
0