ben il faut mettre le nouveau tableau en valeur de retour de la méthode pour que l'appelant puisse le voir. Au passate ton test dans ta première boucle est incorrect. A la sortie de ta boucle m aura la valeur du test sur le dernier élément du tableau, donc ne sera true que si le dernier élément du tableau vaut x. Tu peux corriger en faisant un "ou" avec la valeur précédente de m.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public static int[] ajouterP(int[] ens, int x){
int l=ens.length;
boolean m = false;
for(int i=0;i<l;i++) {
m= m || (x==ens[i])
}
if(m) {
return ens; // tableau pas changé
} else {
int newtab[]=new int[l+1];
newtab[l]=m;
for(int i=0;i<l;i++) {
newtab[i]=ens[i];
return newtab;
}
} |