Copie d un tableau de boolean a deux dimensions

smicole Messages postés 1 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 26 avril 2004 - 26 avril 2004 à 13:54
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007 - 26 avril 2004 à 14:22
bonjour ,
je souhaiterais savoir comment faire la copie d' un tableau de boolean
à deux dimensions pour que quand je modifie
l 'un des deux tableaux
l autre ne doit pas etre modifier.merci

3 réponses

dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
26 avril 2004 à 14:17
a l'ancienne, car un boolean est un type de base, donc copie par valeur de chaque element de la table, alors que si tu copie le tableau genre tabCopy = tab, la tu copie le pointeur sur l'objet tab...
voila comment tu peux faire

public boolean[] copyBooleanTable( boolean[] tab) {
if ( tab == null){
return;
}
int length = tab.length;
boolean[] tabCopy = new boolean [tab.length];
for (int i=0; i<length; i++){
tabCopy[i] = tab[i];
}
return tabCopy;
}
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
26 avril 2004 à 14:21
euh dsl, a 2 dim ca donne :

public boolean[][] copyBooleanTable( boolean[][]tab) {
if ( tab == null){
return;
}
int length = tab.length;
boolean[][] tabCopy = new boolean [tab.length][];
for (int i=0; i<length; i++){
int length2 = tab[i].length;
for (int j=0; j<length2; j++){
tabCopy[i][j] = tab[i][j];
}v //fin j
] // fin i
return tabCopy;
}
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
26 avril 2004 à 14:22
euh dsl encore, mais il manquait la creation de la table...

public boolean[][] copyBooleanTable( boolean[][]tab) {
if ( tab == null){
return;
}
int length = tab.length;
boolean[][] tabCopy = new boolean [tab.length][];
for (int i=0; i<length; i++){
int length2 = tab[i].length;
tabCopy[i] = new boolean[length2];
for (int j=0; j<length2; j++){
tabCopy[i][j] = tab[i][j];
}v //fin j
] // fin i
return tabCopy;
}
0
Rejoignez-nous