Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème d'indice out of bounds

16 mai 2021 à 11:44:43

Bonjour, j'ai un problème dans une boucle avec un indice j qui commence à 0 et se termine à i+1 pour i=0 jusqu'à i<decks_count=7 et je n'arrive pas à comprendre pourquoi ? le compilateur me met Index 0 out of bounds for length 0.

Voici le morceau de code :

cette partie serte déclarer des tableaux d'objets Deck_dealer qui modélise un paquet de 52 cartes (avec des objets cartes).

Ensuite j'ajoute des objets cartes de l'objet de type stack qui contient les 52 cartes. La fonction add_card est définie en-dessous, est prend les objets de type card dans le stack et les stockent dans chacun des paquets du tableau decks.

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];
		
		for(int i=0; i<decks_count; i++)
		{
			decks[i]=new Deck_dealer();
			for(int j=0; j<i+1; j++)
			{
				decks[j].deck.get(j).add_card(stack, i);
			}
		}
public Card add_card(Stack stack, int i)
	{
		return stack.get_cards(i);
	}
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>();
	}
public final class Deck_dealer extends Deck
{
	private Random random=new Random(); // objet random qui permet dans la fonction mix_up_deck de melanger le paquet en utilisant une nombre aleatoire.
	/*
	 * Constructeur prenant en parametre une ArrayList d'objets card et stockee dans l'objet parent.
	 */
	public Deck_dealer() 
	{
		super();
	}





-
Edité par élieRéveillaud 22 mai 2021 à 19:52:01

  • Partager sur Facebook
  • Partager sur Twitter
16 mai 2021 à 12:10:27

Salut,

le code derrière le code ci-dessous fait quoi ?

deck.get(j).add_card(stack, i);

Quant tu appelles la méthode 

.get(j)

tu es certains que l'indice existe ?

-
Edité par rybla 16 mai 2021 à 12:11:30

  • Partager sur Facebook
  • Partager sur Twitter
22 mai 2021 à 12:56:34

pieux_4 est déclaré, mais ne sert à rien.

PS: c'est bien de montrer du code, mais si on ne dit pas ce qu'il est censé faire, on aura du mal à dire pourquoi il ne le fait pas.

Parce que si on le lit tel qu'il est, il fait exactement ce qui est écrit. Donc il n'y a aucun problème.

-
Edité par michelbillaud 22 mai 2021 à 13:01:03

  • Partager sur Facebook
  • Partager sur Twitter
25 mai 2021 à 17:40:19

--

-
Edité par umfred 25 mai 2021 à 17:40:29

  • Partager sur Facebook
  • Partager sur Twitter