Exception in thread "main" java.lang.ArrayIndexOutOfBoundsExcept
Résolu/Fermé
khaledtotti
-
21 avril 2013 à 13:27
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 21 avril 2013 à 18:38
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 21 avril 2013 à 18:38
A voir également:
- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsExcept
- Bagage à main - Guide
- Navigation in private - Guide
- Aux in ✓ - Forum Enceintes / HiFi
- Scan ligne de la main gratuit - Télécharger - Photo & Graphisme
- Deco in paris avis ✓ - Forum Consommation & Internet
2 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
21 avril 2013 à 13:46
21 avril 2013 à 13:46
1) N'appelle pas ta classe "main", d'une part parce que normalement les noms de classe commencent par une majuscule (la remarque est donc valable pour tes autres classes), mais surtout parce ta méthode "main" aurait le même nom qu'un constructeur de la classe "main" ce qui n'est pas correct.
2) Tes import java.util.* sont tous inutiles puisque tu ne te sers jamais d'aucune classe de ce package...
3) Enfin, pour en revenir à ton ArrayIndexOutOfBoundsException, tu essayes de faire "tab[indice]=l" dans la méthode ajout de ta bibliothèque, mais ton tableau est de taille 0, car tu as fait sa déclaration comme ceci :
Il faudrait donc corriger la manière dont tu alloues la taille de ton tableau, parce que si tu modifies n après, ça ne modifieras pas automatiquement la taille de ton tableau !
Par exemple :
2) Tes import java.util.* sont tous inutiles puisque tu ne te sers jamais d'aucune classe de ce package...
3) Enfin, pour en revenir à ton ArrayIndexOutOfBoundsException, tu essayes de faire "tab[indice]=l" dans la méthode ajout de ta bibliothèque, mais ton tableau est de taille 0, car tu as fait sa déclaration comme ceci :
private int n; // 0 par défaut private livre[] tab=new livre[n]; // le tableau est de taille 0
Il faudrait donc corriger la manière dont tu alloues la taille de ton tableau, parce que si tu modifies n après, ça ne modifieras pas automatiquement la taille de ton tableau !
Par exemple :
public bibliotheque(int x) { n = x; tab = new livre[x]; indice = 0; }
khaledtotti
Messages postés
2
Date d'inscription
vendredi 16 octobre 2009
Statut
Membre
Dernière intervention
21 avril 2013
21 avril 2013 à 14:38
21 avril 2013 à 14:38
merciiiii beaucoup !!!!
khaledtotti
Messages postés
2
Date d'inscription
vendredi 16 octobre 2009
Statut
Membre
Dernière intervention
21 avril 2013
21 avril 2013 à 14:40
21 avril 2013 à 14:40
mais j'ai fais le import car j'ai besoin des classes string !!!
je peux en débarrasser ???
je peux en débarrasser ???
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
Modifié par KX le 21/04/2013 à 18:40
Modifié par KX le 21/04/2013 à 18:40
La classe String est dans java.lang !
Et avant que tu ne poses la question, ce n'est pas la peine d'importer java.lang.* ce package est automatiquement ajouté pour toutes les classes.
Et avant que tu ne poses la question, ce n'est pas la peine d'importer java.lang.* ce package est automatiquement ajouté pour toutes les classes.