Nommage de variable en JAVA

Résolu
Sudo -  
 danimo -
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[])
Configuration: Linux
Firefox 3.5.7

9 réponses

  1. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour

    essai de nommé ta variable autrement que name genre test pour voir
    0
  2. moiced59 Messages postés 1161 Statut Membre 60
     
    Et nommé ta variable avec une variable qui changera a chaque boucle du style:
    String name +i ==
    0
  3. Sudo
     
    mon String 'name' change à chaque boucle!
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. scriptiz Messages postés 1494 Statut Membre 425
     
    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
  6. Sudo
     
    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
  7. scriptiz Messages postés 1494 Statut Membre 425
     
    Ah oui j'avais pas vu que c'était strictement inférieur désolée :)

    Bonne continuation.
    0
  8. danimo
     
    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
  9. scriptiz Messages postés 1494 Statut Membre 425
     
    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
    1. danimo
       
      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