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

pierre -  
 Nico -
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

pierre
 
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
Nico
 
Yop,

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

++

Nico
0
pierre
 
Merci Nico, mais tu peux m'expliquer la différence entre != et ==SVP
0
Nico
 
!= 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
pierre
 
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
pierre
 
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
Nico
 
Yop,

donc ca devrait marcher maintenant non?

Nico
0
pierre > Nico
 
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
 
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
pierre
 
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
Nico
 
donne ton programme complet.

Nico
0
pierre
 
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
pierre
 
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
Nico
 
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
Th
 
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
Th
 
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