bonjour,
pourquoi ce code génère une erreur ?
Code:
1
2
3
4
5
6 public void test ( ) { StringBuffer [] a=new StringBuffer[10]; a[0].append("test"); }
Version imprimable
bonjour,
pourquoi ce code génère une erreur ?
Code:
1
2
3
4
5
6 public void test ( ) { StringBuffer [] a=new StringBuffer[10]; a[0].append("test"); }
Parce que tu as un tableau de 10 StringBuffer mais tu n'as les StringBuffer dedans
Code:
1
2
3
4
5
6
7
8
9 public void test ( ) { StringBuffer [] a=new StringBuffer[10]; for(int i =0; i < a.length; i++) a[i] = new StringBuffer(); a[0].append("test"); }
oups merci ;)Citation:
Envoyé par nicgando
Simplement parceque a[0] n'a jamais était initialisé.Citation:
Envoyé par youp_db
Dans ta version du code tu dit que tu faut un tableau mais tu ne le rempli pas donc il te renvioie une exception quand tu cherches à utiliser un objet qui n'existe pasCode:
1
2
3
4
5
6 public void test ( ) { StringBuffer [] a=new StringBuffer[10]; a[0]=new StringBuffer(); a[0].append("test"); }
Edit : grilled
Ton code créé un tableau de StringBuffer de taille 10 !!!!!!!!!!!!!!!!! Quel est l'intérêt, aucun pour moi.... mais passons.Citation:
Envoyé par youp_db
De pluscrée un nouveau tableau d'objet de taille 10 avec une valeur par défaut pour chaque "case", à savoir nul dans le cas d'un Objet.Code:Object[] tab = new Object[10]
Bond pour initialiser chaque case du tableau tu dois faire
Si tu veux utiliser un StringBuffer c'est:Code:
1
2
3
4 tab[0] = new Object(); tab[1] = new Object(); ... tab[n-1] = new Object();
Code:
1
2
3
4 public void test() { StringBuffer buffer = new StringBuffer(); buffer.append("test"); }