Récupérer des valeurs d'un tableau en java

Fermé
pierre - 14 mai 2004 à 14:15
 Nico - 17 mai 2004 à 14:56
Bonjour , j'ai créé un tableau en deux dimensions .J'aimerai savoir comment je fait pour récuperer certaines valeurs du tableau .Illustration de mon propos:
Soit mon tableau: 0 1
0 3
0 2
1 3
1 6
J'aimerai en fait garder les lignes qui m'intéressent c'est à dire , pour le ligne 0 2
et la ligne 1 6
Le but c'est d'associer pour la première colonne la deuxième, et donc pour des valeurs 0,1 on associe 2,6.Comment faire pour ne faire apparaitre que les lignes dont j'ai besoin
Merci d'avance pour vos conseils
A voir également:

10 réponses

Je viens de me relire et je pense ne pas avoir été clair
j'ai un tableau par exemple celui ci:
0 1
0 3
0 2
1 3
1 6
1 5
0 4
et moi j'aimerai récuperer certaine ligne de ce tableau, voilà ce que j'ai écrit:

switch (tab[0][j]){
case 0 : if(tab[1][j]!=2)
System.out.print ("l="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 1 : if(tab[1][j]!=6)
System.out.print ("l="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 2 : if(tab[2][j]!=10)
System.out.print ("l="+tab[1][j]+" ");
System.out.println ("m="+tab[2][j]);break;
}
Dans ce cas j'aimerai bien récuperer les lignes 0 2 ou 1 6
Merci
0
Yop,

ben si tu remplaces les != par des == tu devrais afficher tes lignes.

++

Nico
0
Merci Nico, mais tu peux m'expliquer la différence entre != et ==SVP
0
!= signifie différent
== signifie égal.
Donc dans ton programme, tu affiche seulement les lignes qui dans la première colonne il y a 0 et la deuxième colonne est différente de 0. Or toi si j'ai bien compris c'est le contraire que tu veux. Donc c'est ca le programme :

switch (tab[0][j]){
case 0 : if(tab[1][j] ==2)
System.out.print ("l="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 1 : if(tab[1][j] ==6)
System.out.print ("l="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 2 : if(tab[2][j] ==10)
System.out.print ("l="+tab[1][j]+" ");
System.out.println ("m="+tab[2][j]);break;
}

Nico
0
Bonjour, en fait je veux faire afficher les lignes popur laquelle la première colonne est égale à 0 et la deuxième à 2 par exemple.pareil avec 1 et 6
Merci
0
Bonjour Nico
En fait j'aimerai supprimer les lignes qui font correspondre un 0 de la première colonne à un 2 de la seconde colonne et les lignes qui font sorrespondre un 1 de la première colonne à un 6 de la seconde colonne.C'est pour ça que plus haut dans la conversation j'avais mis un != au lieu de ==.merci
0
Yop,

donc ca devrait marcher maintenant non?

Nico
0
pierre > Nico
17 mai 2004 à 10:29
Boblour; en fait il ne m'affiche plus rien à partir du moment que j'ai remplacé == par !=.de plus j'ai suivi le dernier algo qu'on m'a donné .merci
0
Nico > Nico
17 mai 2004 à 12:59
Yop,

voila ca devrait marcher :

for (int i=0;i<tab.length;i++){
switch (tab[i][0]){
case 0 : if(tab[i][1]!=2) {
System.out.print ("l="+tab[i][0]+" ");
System.out.println ("m="+tab[i][1]);
}
break;
case 1 : if(tab[i][1]!=6) {
System.out.print ("l="+tab[i][0]+" ");
System.out.println ("m="+tab[i][1]);
}
break;
case 2 : if(tab[i][1]!=10) {
System.out.print ("l="+tab[i][0]+" ");
System.out.println ("m="+tab[i][1]);
}
break;
}

}

Nico
0
Bonjour, voici ce que j'ai tapé, mais ça ne marche toujours pas,il ne m'affiche que m=0

switch (tab[0][j]){
case 0 : if(tab[1][j]==2)
System.out.print ("l="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 1 : if(tab[1][j]==6)
System.out.print ("=="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 2 : if(tab[1][j]==10)
System.out.print ("l="+tab[1][j]+" ");
System.out.println ("m="+tab[1][j]);break;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
donne ton programme complet.

Nico
0
Je ne l'ai pas encore tapé, mais le problème que j'ai est relatif à une parti du prog.En fait tu peux definir un tableau aveccles valeurs ci-dessu et je cherche juste à extraire ces valeurs.
0
Je t'envoie untruc que j'ai tapé :
public class Problème{
public static void main{String args[]){
int[][]tableau={valeurs que je t'ai donné précédement}
switch (tab[0][j]){
case 0 : if(tab[1][j]==2)
System.out.print ("l="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 1 : if(tab[1][j]==6)
System.out.print ("=="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);break;
case 2 : if(tab[1][j]==10)
System.out.print ("l="+tab[1][j]+" ");
System.out.println ("m="+tab[1][j]);break;
}}}
0
Ben il te suffit de mettre une boucle pour parcourir ton tableau et tester à chaque fois et puis de mettre des {} pour tous les if :

for (int j=0;j<tab.length;j++) {
switch (tab[0][j]){
case 0 : if(tab[1][j]==2) {
System.out.print ("l="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);
}
break;
case 1 : if(tab[1][j]==6) {
System.out.print ("=="+tab[0][j]+" ");
System.out.println ("m="+tab[1][j]);
}
break;
case 2 : if(tab[1][j]==10) {
System.out.print ("l="+tab[1][j]+" ");
System.out.println ("m="+tab[1][j]);
}
break;
}

}

Nico
0
Bonjour Pierre,
Au vu de tes resultats m=0 je ne vois qu'une seule erreur possible tu as écrit un tableau à une seule dimension. Seulement tu n'as pas écrit ton tableau dans ton bout de code alors je l'écrit pour voir si c'est comme ça que tu l'as écrit.

int[][]tableau={{0,1},
{0,3},
0 2
1 3
1 6
1 5
0 4
}
0
excusez-moi.
J'ai fais une Erreur en collant le tableau.Je le colle à nouveau.

int[][]tableau={{0,1},{0,3},{0,2},{1,3},{1,6} ,{1,5},{0,4}};
0