Rechercher : dans
Par :

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

Dernière réponse le 17 mai 2004 à 14:56:33 pierre, le 14 mai 2004 à 14:15:59 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Récupérer des valeurs d'un tableau en java » dans :
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Décaler les éléments d'un tableau (Rotation) -Récursivité- VoirVoici une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une position à droite à partir de la position p Procedure Decaler (Var t : Tab; p, n : integer); Begin If p
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Tableur - Les fonctions mathématiques VoirLes fonctions standards Méthode description ABS() Cette méthode renvoie la valeur absolue d'un nombre, il renvoie donc le nombre s'il est positif, son opposé (positif) s'il est négatif IMPAIR(valeur) Cette méthode renvoie la valeur...

1

pierre, le 14 mai 2004 à 15:29:17

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

Répondre à pierre

2

Nico, le 14 mai 2004 à 15:32:43

Yop,

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

++

Nico

Répondre à Nico

3

pierre, le 14 mai 2004 à 15:36:45

Merci Nico, mais tu peux m'expliquer la différence entre != et ==SVP

Répondre à pierre

4

Nico, le 14 mai 2004 à 15:40:34

!= 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

Répondre à Nico

7

pierre, le 14 mai 2004 à 15:48:17

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

Répondre à pierre

13

pierre, le 17 mai 2004 à 10:08:22

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

Répondre à pierre

14

Nico, le 17 mai 2004 à 10:17:18

Yop,

donc ca devrait marcher maintenant non?

Nico

Répondre à Nico

15

pierre, le 17 mai 2004 à 10:29:27

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

Répondre à pierre

16

Nico, le 17 mai 2004 à 12:59:41

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

Répondre à Nico

17

pierre, le 17 mai 2004 à 13:34:25

Bonjour nico
Pourquoi est ce que tu raisonne sur tab[i][0 ou 1] et non plus sur tab[0 ou 1][j]?
merci

Répondre à pierre

18

Nico, le 17 mai 2004 à 14:07:44

Je crois que tu n'as pas saisi comment fonctionne un tableau à 2 dimensions en java.
prenons un exemple :
[ 0 1 ]
[ 2 3 ]
[ 4 5 ]

tab[0][0] = 0
tab[0][1] = 1
tab[1][0] = 2
tab[1][1] = 3
....

Lorsque tu as tab[0][0], le premier [0] revient à avoir la ligne 0, et le deuxième [0] revient à avoir l'élément 0 de la ligne. Or tu n'as que 2 éléments dans ta ligne vu que c'est un couple de valeur. Donc ca ne vaut que 0 ou 1.

Nico

Répondre à Nico

19

pierre, le 17 mai 2004 à 14:18:19

Ok nico, j'avais pas saisi, Merci Je te recontacte si ya un problème, sinon Merci beaucoup

Répondre à pierre

20

Nico, le 17 mai 2004 à 14:21:40

Sinon c'est ce que tu voulais? Il marche correctement?

Nico

Répondre à Nico

21

pierre, le 17 mai 2004 à 14:50:26

Merci nico , j'ai encore bidouillé le code et ça marche enfin.Merci et vivi les programmeurs de ce forum

Répondre à pierre

22

 Nico, le 17 mai 2004 à 14:56:33

:D

Nico

Répondre à Nico

5

pierre, le 14 mai 2004 à 15:41:39

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;
}

Répondre à pierre

6

Nico, le 14 mai 2004 à 15:44:16

Donne ton programme complet.

Nico

Répondre à Nico

8

pierre, le 14 mai 2004 à 15:51:53

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.

Répondre à pierre

9

pierre, le 14 mai 2004 à 16:02:26

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;
}}}

Répondre à pierre

10

Nico, le 14 mai 2004 à 20:38:16

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

Répondre à Nico

11

Th, le 14 mai 2004 à 22:23:42

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
}

Répondre à Th

12

Th, le 14 mai 2004 à 22:27:04

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}};

Répondre à Th
Collection CommentÇaMarche.net