Problème d'indice out of bounds

Signaler
Messages postés
6
Date d'inscription
jeudi 21 janvier 2021
Statut
Membre
Dernière intervention
17 mai 2021
-
Messages postés
16374
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
5 août 2021
-
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

Messages postés
14815
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 août 2021
297
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.
Messages postés
16374
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
5 août 2021
2 861
Bonjour,

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