Probléme avec les tableaux en java
Fermé
rwikus
Messages postés
871
Date d'inscription
lundi 29 décembre 2008
Statut
Membre
Dernière intervention
18 mai 2012
-
22 févr. 2010 à 01:01
Utilisateur anonyme - 23 févr. 2010 à 10:27
Utilisateur anonyme - 23 févr. 2010 à 10:27
A voir également:
- Probléme avec les tableaux en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Tableaux croisés dynamiques - Guide
- Java décompiler - Télécharger - Langages
3 réponses
Utilisateur anonyme
22 févr. 2010 à 06:19
22 févr. 2010 à 06:19
Salut,
Non çà ne peut pas marcher avec:
Un tableau de ce type peut être considéré comme une table de x lignes de y colonnes.
Il faudrait que ton tableau (multi dimensions) soit d'éclaré comme ceci:
Or tu le déclares avec x = 4 et y = rien, soit 4 lignes, pas de colonnes...
Et en plus, il faudrait que tu nous dises exactement ce que tu veux faire pour qu'on puisse analyser le code qui suit.
Cordialement,
dan
Non çà ne peut pas marcher avec:
int tab[][]=new int[4][];
Un tableau de ce type peut être considéré comme une table de x lignes de y colonnes.
Il faudrait que ton tableau (multi dimensions) soit d'éclaré comme ceci:
int tab[][]=new int[x][y];
Or tu le déclares avec x = 4 et y = rien, soit 4 lignes, pas de colonnes...
Et en plus, il faudrait que tu nous dises exactement ce que tu veux faire pour qu'on puisse analyser le code qui suit.
Cordialement,
dan
rwikus
Messages postés
871
Date d'inscription
lundi 29 décembre 2008
Statut
Membre
Dernière intervention
18 mai 2012
56
23 févr. 2010 à 02:47
23 févr. 2010 à 02:47
voila le morceau de code qui m'a intrigué: et pour les x et les y je suis d'accord avec toi sauf pour les "y" car en java tu peux ne pas déclarer le nombre de colonne sachant qu'il peut étre différent a chaque ligne et donc chaque ligne pointera vers un vecteur.
byte[][] data = new byte[3][];
byte []tab={1,2,3,4,5,6};
// Code les données
for(int i=0;i<3;i++)
data[i]=tab;
for (int i=0; i < data.length; i++) {
for (int j=0; j < data[i].length; j++) {
System.out.print(data[i][j] + " ");
}
System.out.println();
}
System.out.println();
// Simule des erreurs de transmission
data[1][2] = 10;
c'est lorsque j'affecte "10" au data[1][2] il me l'affecte aussi au data[0][2 ]et au data[2][2] et je comprend pas pourquoi?
byte[][] data = new byte[3][];
byte []tab={1,2,3,4,5,6};
// Code les données
for(int i=0;i<3;i++)
data[i]=tab;
for (int i=0; i < data.length; i++) {
for (int j=0; j < data[i].length; j++) {
System.out.print(data[i][j] + " ");
}
System.out.println();
}
System.out.println();
// Simule des erreurs de transmission
data[1][2] = 10;
c'est lorsque j'affecte "10" au data[1][2] il me l'affecte aussi au data[0][2 ]et au data[2][2] et je comprend pas pourquoi?
Utilisateur anonyme
23 févr. 2010 à 10:27
23 févr. 2010 à 10:27
Salut,
Bon, puisque tu persistes à vouloir utiliser une matrice mal "dimensionnée", je vais te conseiller d'oublier cette méthode et de voir ce que tu peux faire avec java.util.ArrayList .
https://docs.oracle.com/javase/7/docs/api/ classe ArrayList
Cordialement,
Dan
Bon, puisque tu persistes à vouloir utiliser une matrice mal "dimensionnée", je vais te conseiller d'oublier cette méthode et de voir ce que tu peux faire avec java.util.ArrayList .
https://docs.oracle.com/javase/7/docs/api/ classe ArrayList
Cordialement,
Dan