IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

affecter les attributs d'un objet


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 35
    Points : 18
    Points
    18
    Par défaut affecter les attributs d'un objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class client (){
           String nom;
           int age;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class maclasse {
           Object setAttrbutes;
          public maclasse (Object SetAttribute){
                setAttrbutes= SetAtribute;
          }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class test{
          public Client client = new Client(); 
          public maclasse[] setters= {new (Client.nom)
                                                new (Client.age)} 
     
          for (int i=0; i< setters.length; i++){
               /* obtenir 'input' de chez l utilisateur pour specifier la valeur de nom  et age.*/
                setters[i].SetAttribute= input;
     
          }
    }
    apres l excution de ce code la valeur de Client.nom et Client.age sont null; alors que je veux que leur valeur soit egal a input. Comment modifier ce code sachant que je dois garder la loop qui fait le assignment de maniere general.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonjour essayes ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try {
       System.out.println("entrer votre age");
       String line = br.readLine();
     
     } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
    }
    même code pour le nom par exemple et l'age sera une string mais tu peux la traduire en entier facilement ok ?

  3. #3
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Points : 215
    Points
    215
    Par défaut
    Bonjour,

    1) Utilise des balises CODE (le gros #).
    2) Ne définis qu'une seule classe par fichier .java.
    3) Avec toutes les fautes contenues dans ce code, il est impossible qu'il puisse être exécuté (casse, orthographe des variables ou même respect de la syntaxe Java).
    4) Par convention, préfère faire commencer le nom de tes classes par une majuscule.
    5) À aucun moment tu n'assignes de valeur pour un quelconque nom ou un quelconque âge.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par mohandJussieu Voir le message
    Bjr essayes ça
    try {
    System.out.println("entrer votre age");
    String line = br.readLine();

    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    mm code pour le nom par exemple et l'age sera une string mais tu peux la traduire en entier facilement ok??
    bonjour,
    recuperer les donnes de l utilisateur n est pas le probleme. Apres l execution de mon code.(j ai pas tout mis dans le post) mais setters[0].setAttribute= "Marc" et setters[0].setAttribute=30. le problem est que Client.Nom et Client.Age ne prennent pas ces valeurs.

  5. #5
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    Tout d'abord je te conseil d'utiliser les conventions de nommage, ce qui limite ensuite les erreurs d'appel des objets. Par exemple :
    Tu déclare une classe client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class client (){
    Et ensuite tu fait une référence static a cette objet par Client.
    Ca ne vas pas. Java est sensible à la casse.

    - Les classes comment par une majuscules, et si Il y a plusieurs mots dans le commage de ta classe tu les fait aussi commencer par une maj : MaClasseAvecUnGrandNom.
    - Les attributs déclarés à l'intérieur de la classe comment par une minuscules, et si Il y a plusieurs mots dans le nommage de ton attribut tu les fait commencer par une maj : monAttributMachin.
    - Si un attrinut est déclaré final alors tout est en majuscules : private final String MESSAGE = "mon message";

    ------------------------------------------------------

    Dans ta classe client, les attributs nom et age ne sont pas static, alors que dans ta classe test, tu y fait référence de manière static :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public maclasse[] setters= {new (Client.nom) new (Client.age)}
    Il faut choisir.

    ------------------------------------------------------

    De plus on utilise le mot clef new, pour créer une instance, cela est donc vraiment incohérent avec une référence static :
    Cela n'a pas de sens.

Discussions similaires

  1. [Smarty] Afficher les attributs d'un objet
    Par Arnaud62 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 16/05/2008, 17h08
  2. Réponses: 2
    Dernier message: 15/07/2007, 12h43
  3. Réponses: 3
    Dernier message: 06/07/2007, 09h17
  4. Réponses: 1
    Dernier message: 19/04/2007, 02h37
  5. Réponses: 7
    Dernier message: 13/02/2006, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo