Nommage de variable en JAVA

Résolu/Fermé
Sudo - 10 févr. 2010 à 19:36
 danimo - 11 févr. 2010 à 10:59
Bonjour,
voila mon code:

for (int i=0;i<9;i++){
	for (int j=0;j<9;j++){
		String name="c"+i+"l"+j;
		/*
ici je voudrais créer un objet "UneCase" ayant pour nom le String d'au dessus, sauf que
UneCase name=new UneCase(); ne marche pas, en effet, des la deuxieme iteration il vas me dire que le nom de variable est déjà utilisé, que faire?
                */
	}
}



le but étant qu'a la fin du grand for j'aurais des objets qui s'appellent c0l0, c0l1, etc

si vous savez comment faire :D

le code d'erreur: name is already defined in main(java.lang.String[])
A voir également:

9 réponses

moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 févr. 2010 à 19:46
bonjour

essai de nommé ta variable autrement que name genre test pour voir
0
Ca ne change rien ^^
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 févr. 2010 à 19:54
Et nommé ta variable avec une variable qui changera a chaque boucle du style:
String name +i ==
0
mon String 'name' change à chaque boucle!
0

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

Posez votre question
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
10 févr. 2010 à 19:58
De toute façon tes variables sont locales à ta boucle for donc tu les perdraient en sortant de la boucle.

Le mieux c'est que tu utilises un tableau que tu instancies avant la boucle.

Exemple :
String[][] tableau = new String[10][10];

for (int i=0;i<9;i++)
{
	for (int j=0;j<9;j++)
	{
		String name="c"+i+"l"+j;
		tableau[i][j] = name;
		// ici j'utilise ton name pour remplir le tableau
		// mais tu peux mettre ce que tu veux dedans.
	}
}
0
Oui pas bête je vais faire ça :) et puis comme ça au moins pas besoin de m'embeter avec les noms ....


note: un tableau de 9 sur 9 suffira puisque le for vas de i=0 à i<9=8 donc 9 itérations ^^


Merci de votre aide !
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
10 févr. 2010 à 20:06
Ah oui j'avais pas vu que c'était strictement inférieur désolée :)

Bonne continuation.
0
Utilisateur anonyme
11 févr. 2010 à 00:33
Salut,


En enregistrant les noms d'objet dans un tableau ce sera plus commode de les utiliser le moment venu.


String[] tabDesNomsObj = new String [81]; // 9*9
         int k = 0;
         for (int i=0;i<9;i++)
         {
            for (int j=0;j<9;j++)
            {
               //String name = "c" + i + "l" + j;
               tabDesNomsObj[k] = "c" + i + "L" + j; // plus lisible avec "L"
               k++;
            }
         }

         // controle:
         for(k = 0; k<81; k++)
            System.out.println("Objet [" + k + "]  = " + tabDesNomsObj[k]);
            
         // utilisation:
        /*
         * Les noms d'objet sont donc dans le tableau tabDesNomsObj[]
         * On peut alors les utiliser comme nécessaire.
         *
         * par exemple:
         * UneCase name = new UneCase();
         *
         * k = une valeur de 0 a 80
         * tabDesNomsObj[k] = UneMethodeDeLaClasseUneCase(param eventuels);
         *
         * k = une autre valeur de 0 a 80
         * tabDesNomsObj[k] = UneMethodeDeLaClasseUneCase(param eventuels);
         *
         * Mais impossible d'etre plus pécis ne sachant rien de la classe UneCase
         */


Cordialement,

Dan
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
11 févr. 2010 à 08:04
Dan, ça t'arrive de lire les posts autres que le premier?

Car la réponse que tu donnes à déjà été donnée ^^
0
Salut scriptiz,

Bien entendu, et même si ma réponse concerne l'enregistrement dans un tableau, je ne procède pas du tout
de la même manière que toi.
Quand j'ai préparé cette réponse, personne ne s'était encore manifesté. Et c'est au momment de l'envoyer que j'ai vu ce que tu avais posté j'ai quand même envoyé ce que j'avais préparé...

De toutes manières tu n'as pas l'exclusivité des réponses, et saches que j'ai passé l'âge de pomper.

Dan
0