Java.lang.StackOverflowError avc eclipse
Fermé
minoucha-z
Messages postés
3
Date d'inscription
samedi 17 avril 2010
Statut
Membre
Dernière intervention
17 avril 2010
-
17 avril 2010 à 00:21
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 17 avril 2010 à 01:26
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 17 avril 2010 à 01:26
A voir également:
- Java.lang.StackOverflowError avc eclipse
- Eclipse download - Télécharger - Langages
- Avc free - Télécharger - Conversion & Codecs
- Avc high@l4 - Forum Format et connectique vidéo
- Honeywell eclipse ms5145 configuration français - Forum Autres périphériques et appareils
- Eclipse en francais - Forum Programmation
2 réponses
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
17 avril 2010 à 00:48
17 avril 2010 à 00:48
Euh juste une question pourquoi tu appelles une cellule dans une autre cellule?
parce que je suppose que dans un code extérieur tu fais un cellule pipo = new cellule();
Donc à quoi te sers dans ton constructeur de mettre cellule c =new cellule(); ?
Donc je verrais la classe cellule comme :
Ensuite voit si ton problème se pose toujours.
parce que je suppose que dans un code extérieur tu fais un cellule pipo = new cellule();
Donc à quoi te sers dans ton constructeur de mettre cellule c =new cellule(); ?
Donc je verrais la classe cellule comme :
package pack3; public class cellule { private cellule suivante ; private int contenu; public cellule()// créer une cellule et initialiser // son contenu a 0 et son pointeur svt a null { suivante=null; c.contenu=0; }
Ensuite voit si ton problème se pose toujours.
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
186
17 avril 2010 à 00:54
17 avril 2010 à 00:54
Ton problème vient effectivement de là :
t'as un appel récursif sur le constructeur de cellule, et un moment, ca "déborde" et génère un StackOverflow
t'as un appel récursif sur le constructeur de cellule, et un moment, ca "déborde" et génère un StackOverflow
17 avril 2010 à 00:55
17 avril 2010 à 00:58
Tu pourrais donner le code qui accède à ta fonction cellule?
Hormis ça sinon je vois pas ce qui pourrait causer le StackOverFlow, à moins que ton code externe qui appelle la classe cause lui le problème.
PS : Bien vu JeanGilles, en effet je pense que le problème vient de là aussi, je viens d'y penser, on appelle la classe Cellule, qui elle même s'appelle, donc appel à la même classe qui s'appelle à l'infini, c'est sur que le StackOverFlow il est pas loin ...
17 avril 2010 à 01:04
package pack3;
public class liste extends cellule {
private cellule debut;
private int taille;
public liste ()
{//cree une liste vide
debut=null;
taille=0;
}
public liste (cellule c)//cree 1 liste contenant c en tete
{
this.debut = c;
this.taille++;
}
public boolean isEmpty()
{
return debut==null;
}
public cellule getFirst() {
return this.debut;
}
public void addFirst(int elem)//insere une cellule de elem
{
cellule c= new cellule(elem,this.debut);
this.taille++;
}
je vous remercie
17 avril 2010 à 01:26
Expose nous plutôt ce que tu veux faire, mais à mon avis je pense ne pas en être loin.