A voir également:
- Indice de tableau en java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Tableau word - Guide
- Tableau ascii - Guide
- Indice téléphonique - Guide
3 réponses
Salut,
elt 1 dimension 1 >> [0][0]
elt 1 dimension 2 >> [0][1]
elt 2 dimension 1 >> [1][0]
elt 2 dimension 2 >> [1][1]
elt 3 dimension 1 >> [2][0]
elt 3 dimension 2 >> [2][1]
etc...
Cordialement,
Dan
elt 1 dimension 1 >> [0][0]
elt 1 dimension 2 >> [0][1]
elt 2 dimension 1 >> [1][0]
elt 2 dimension 2 >> [1][1]
elt 3 dimension 1 >> [2][0]
elt 3 dimension 2 >> [2][1]
etc...
Cordialement,
Dan
scfps
merci damino mais je crois que je me suis mal fait comprendre , j'ai un tableau de char a deux dimensions, et je voudrai par une methode recuperer les index correspondant a un caractere du tableau afin de les renvoyer
Ce n'est sans doute pas exactement ce que tu veux faire, mais l'exemple suivant t'aidera peut-être:
Cordialement,
Dan
//Supposons que nous avons un tableau de caractères (char) à 2 dimensions (monTableau)
//et que la 1ère dimension représente les lettres a à z et la 2ème dimension celles de z à a
char[][] monTableau = {
{'a', 'z'}, {'b', 'y'}, {'c', 'x'}, {'d', 'w'}, {'e', 'v'}, {'f', 'u'}, {'g', 't'},
{'h', 's'}, {'i', 'r'}, {'j', 'q'}, {'k', 'p'}, {'l', 'o'}, {'m', 'n'}, {'n', 'm'},
{'o', 'l'}, {'p', 'k'}, {'q', 'j'}, {'r', 'i'}, {'s', 'h'}, {'t', 'g'}, {'u', 'f'},
{'v', 'e'}, {'w', 'd'}, {'x', 'c'}, {'y', 'b'}, {'z', 'a'},
};
System.out.println("LISTE des deux dimensions:");
System.out.println("1 2\n");
for(int i = 0; i < monTableau.length; i++)
{
System.out.println(monTableau[i][0] + " " + monTableau[i][1]);
}
//Nous voulons maintenant obtenir les indices du caractère 'r':
char chAtrouver = 'r';
String strAtrouver = "" + chAtrouver;
System.out.println("\nNous voulons savoir ou se trouve le char \'r\' (dimension 1) et\n"
+ "quel est le char qui lui correspond (dimension 2):\n");
for(int i = 0; i < monTableau.length; i++)
{
char chLu = monTableau[i][0];
String strLu = "" + chLu;
if(strLu.equals(strAtrouver))
{
System.out.println("Le char \'r\' se trouve en [i][0] soit: [" + i + "][0] (dimension 1)");
System.out.println("Le char se trouvant en [i][1] soit [" + i + "][1] (dimension 2) est "
+ "\'" + monTableau[i][1] + "\'.");
}
}
Cordialement,
Dan
decidement je m'exprime comme un pied, c'est un tableau ayant des valeur en char et les indices sont en int.
du style Montableau [0][0] = ' a';
[1][0] = ' b';
donc ma methode doit etre capable si on me donne le char 'a' , de retourner les indices [i][j] correspondant .
je vous remercie de la peine que vous vous donnez.
cordialement
du style Montableau [0][0] = ' a';
[1][0] = ' b';
donc ma methode doit etre capable si on me donne le char 'a' , de retourner les indices [i][j] correspondant .
je vous remercie de la peine que vous vous donnez.
cordialement
C'est ce qui est fait ici:
On peut alors dire que pour la dimension 1 le char 'r' a pour indices [i1][j1]:
int i1 = i; // toujours i de la boucle
int j1 = 0; // toujours 0 puisque dimension 1
et pour le caractère dimension 2 [i2][j2]:
int i2 = i; // toujours i de la boucle
int j2 = 1; // toujours 1 puisque dimension 2
il suffit donc que la méthode retourne i1 et on en déduit les 3 autres indices (j1, i2 et j2)
Céation du tableau au niveau classe principale (qu'on nomme à tort variable globale: c'est mieux de dire variable (ou champs) de classe
La méthode que je propose:
Et l'appel de cette méthode depuis la méthode main de la classe pour tester:
Cordialement,
Dan
..............
if(strLu.equals(strAtrouver))
{
System.out.println("Le char \'r\' se trouve en [i][0] soit: [" + i + "][0] (dimension 1)");
System.out.println("Le char se trouvant en [i][1] soit [" + i + "][1] (dimension 2) est "
+ "\'" + monTableau[i][1] + "\'.");
}
On peut alors dire que pour la dimension 1 le char 'r' a pour indices [i1][j1]:
int i1 = i; // toujours i de la boucle
int j1 = 0; // toujours 0 puisque dimension 1
et pour le caractère dimension 2 [i2][j2]:
int i2 = i; // toujours i de la boucle
int j2 = 1; // toujours 1 puisque dimension 2
il suffit donc que la méthode retourne i1 et on en déduit les 3 autres indices (j1, i2 et j2)
Céation du tableau au niveau classe principale (qu'on nomme à tort variable globale: c'est mieux de dire variable (ou champs) de classe
private static char[][] monTableau = {
{'a', 'z'}, {'b', 'y'}, {'c', 'x'}, {'d', 'w'}, {'e', 'v'}, {'f', 'u'},
{'g', 't'}, {'h', 's'}, {'i', 'r'}, {'j', 'q'}, {'k', 'p'}, {'l', 'o'},
{'m', 'n'}, {'n', 'm'}, {'o', 'l'}, {'p', 'k'}, {'q', 'j'}, {'r', 'i'},
{'s', 'h'}, {'t', 'g'}, {'u', 'f'}, {'v', 'e'}, {'w', 'd'}, {'x', 'c'},
{'y', 'b'}, {'z', 'a'},
};
La méthode que je propose:
public static int retourIndice1(char ch)
{
int i = 0;
String strAtrouver = "" + ch; // conversion en String
System.out.println("\nNous voulons savoir ou se trouve le char \'r\' (dimension 1):\n");
for(i = 0; i < monTableau.length; i++)
{
char chLu = monTableau[i][0];
String strLu = "" + chLu; // conversion en String
if(strLu.equals(strAtrouver))
{
System.out.println("Le char \'r\' se trouve en [i][0] soit: [" + i + "][0] (dimension 1)");
break;
}
}
int i1 = i;
return i1;
}
Et l'appel de cette méthode depuis la méthode main de la classe pour tester:
char chAtrouver = 'r';
// appel méthode: retournant i1
int i1 = retourIndice1(chAtrouver);
// on en déduit les 3 autres indices (j1, i2, j2)
int j1 = 0;
int i2 = i1;
int j2 = 1;
System.out.println("\nLES 4 INDICES:\n");
System.out.println("i1 = " + i1 + "\nj1 = " + 0 + "\ni2 = " + i2 + "\nj2 = " + 1);
Cordialement,
Dan