Copier un tablea int 2 fois dan sun autre
jaco
-
jaco -
jaco -
Bonjour,
j'ai un problème en copiant un tableau de int qui contient des pixels dans un autre :
le but est de copier le contenu 2 fois ou plus exactement copier le contenu pr que je puisse avoir un tableau de dimension 512x512
j'ai fait une boucle pour incrementer mon nouveau tableau dans un while , le probleme
il me renvoit : java.lang.NullPointerException
ou parfois qd je fais des modifications
java.lang.ArrayIndexOutOfBoundsException
est ce quelqu'un peut me donner un bon conseil pour resoudre le prob
merci d'avance de votre aide
j'ai un problème en copiant un tableau de int qui contient des pixels dans un autre :
le but est de copier le contenu 2 fois ou plus exactement copier le contenu pr que je puisse avoir un tableau de dimension 512x512
j'ai fait une boucle pour incrementer mon nouveau tableau dans un while , le probleme
il me renvoit : java.lang.NullPointerException
ou parfois qd je fais des modifications
java.lang.ArrayIndexOutOfBoundsException
est ce quelqu'un peut me donner un bon conseil pour resoudre le prob
merci d'avance de votre aide
A voir également:
- Copier un tablea int 2 fois dan sun autre
- Supercopier 2 - Télécharger - Gestion de fichiers
- Copier un disque dur sur un autre - Guide
- Comment copier une vidéo youtube - Guide
- Retrouver un copier-coller android - Guide
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
5 réponses
Les exceptions retournées indiquent que tu gères mal les limites de ton tableau. Maintenant, sans connaître ton code, on ne va pas te dire d'où ça vient...
bjr,
voila une partie de mon code
int [] result = new int[width*height];
int [] temp = new int[width*height];
result[i++]=(int)tab[nbrimage][NPoints];
while ( i < 512 )
for ( i = 0; i < 512; i++ )
temp[j] = result[i];
temp[j+1] = result[i];
j'ai pas tout mis mais jessaie en gros juste de mettre des pixesl ds temp[ j] et temp [j+1] la meme chose tant que je n'ai pas 512 pour reconstruire une image 512x 512
merci pour ton aide
voila une partie de mon code
int [] result = new int[width*height];
int [] temp = new int[width*height];
result[i++]=(int)tab[nbrimage][NPoints];
while ( i < 512 )
for ( i = 0; i < 512; i++ )
temp[j] = result[i];
temp[j+1] = result[i];
j'ai pas tout mis mais jessaie en gros juste de mettre des pixesl ds temp[ j] et temp [j+1] la meme chose tant que je n'ai pas 512 pour reconstruire une image 512x 512
merci pour ton aide
Pourquoi tu ne fixes pas la taille de temp à 512 puisque c'est la taille que tu veux lui donner ? A quoi est sensée servir cette ligne : result[i++]=(int)tab[nbrimage][NPoints]; ? Que vient faire ce while ( i < 512 ) alors que tu as un for en-dessous ?
Re,
le result[i++] sert a stockée des pixles d'une serie dimages pour les reconstruire ds une bufferedimage,
le while sert comme condition dans le cas ou nbrimage nest pas 512 , peut etre n'est pas necessaire avec le for
la taille de temp est de 512 , jai utilisé width et height, pr rester ds un cas generale , au cas ou je decide de changer les dimensions de limage
merci
le result[i++] sert a stockée des pixles d'une serie dimages pour les reconstruire ds une bufferedimage,
le while sert comme condition dans le cas ou nbrimage nest pas 512 , peut etre n'est pas necessaire avec le for
la taille de temp est de 512 , jai utilisé width et height, pr rester ds un cas generale , au cas ou je decide de changer les dimensions de limage
merci
Puisque result[i++] n'est pas dans un boucle, je ne ovis pas à quoi ça va servir. Le while est redondant avec le for. Si tu veux tester une dimension, utilise un if. Tu utilises width et height pour rester dans un cas général mais tu place des 512 en dur dans le reste de ton code, qui n'est donc plus généraliste, corrige ça.
Tiens-moi au courant.
Tiens-moi au courant.
Bjr,
effectivement while, ne sert pas a bcp chose en presence du for,
result[i++] au contraire est dans une boucle for juste au dessus ,
l'erreur que je trouve en ce moment est : java.lang.ArrayIndexOutOfBoundsException: 512
et il m'indique le lieu de l'erreur: temp[j] = (int ) tab[nbrimage][NPoints];
le code ou se trouve est :
if ( i < temp.length )
_bimageI = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for ( j = 0; j < temp.length; j++ )
temp[j] = (int ) tab[nbrimage][NPoints];
temp[j+1] = (int ) tab[nbrimage][NPoints];
_bimageI.setRGB(0,0,width,height,temp,0,width);
System.out.println("temp[" + j + "]=" + temp[j]);
g2d.drawImage(_bimageI, 0, 0, null);
effectivement while, ne sert pas a bcp chose en presence du for,
result[i++] au contraire est dans une boucle for juste au dessus ,
l'erreur que je trouve en ce moment est : java.lang.ArrayIndexOutOfBoundsException: 512
et il m'indique le lieu de l'erreur: temp[j] = (int ) tab[nbrimage][NPoints];
le code ou se trouve est :
if ( i < temp.length )
_bimageI = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for ( j = 0; j < temp.length; j++ )
temp[j] = (int ) tab[nbrimage][NPoints];
temp[j+1] = (int ) tab[nbrimage][NPoints];
_bimageI.setRGB(0,0,width,height,temp,0,width);
System.out.println("temp[" + j + "]=" + temp[j]);
g2d.drawImage(_bimageI, 0, 0, null);
Bjr,
si tu peux m'aider je trouve
NullPointer Exception
et la faute vient de ca : _bimageI.setRGB(0,0,width,height,temp,0,width);
est ce que tu penses que ca viendra parceque le tableau est vide ?
merci de ton aide
si tu peux m'aider je trouve
NullPointer Exception
et la faute vient de ca : _bimageI.setRGB(0,0,width,height,temp,0,width);
est ce que tu penses que ca viendra parceque le tableau est vide ?
merci de ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question