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

Langage Java Discussion :

[DEBUTANT] Problème avec la POO


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut [DEBUTANT] Problème avec la POO
    Je suis débutant dans le monde de java et de la POO en particulier ( Je suis deçu depuis 4 jours seulement)

    Voilà mon problème j'ai a priori assez bien compris le système de class, d'objet et de méthode.

    Mon but pour me familiariser avec tous sa c'est de crée un programme en java calculant la moyenne d'un éleve. Je doit donc demander a l'éleve toutes ces matières les différents coeff et ces notes.

    J'ai donc eu l'idée de crée un objet matière avec comme attribut nom, coeff,note

    Jusque là dites moi si je me trompe sa me paraît pas trop mal penser ??

    Voilà mon code :

    import java.io.Console

    public class bts {


    public static void main (String [] args)
    {
    boolean verif=false;
    int i=1; //Numero de la matière

    while(verif==false)
    {

    System.out.println("Indiquez le nom de la matière");
    Matiere "mat"+i = new Matiere ;

    System.out.println("Souhaitez vous rentrez une autre matière ?");
    }


    int j=0;

    for (j=1;j<=i;j++)
    {
    // Il faudrait que j'arrive a appeler les differentes matière et acceder a leurs differents attribut
    }

    }

    public Matiere {

    String nom="n",coeff="n";


    System.out.println("Indiquez le nom de la matière");
    Console cmd=System.Console();

    nom=cmd.readLine();

    System.out.println("Indiquez le Coefficient de la matière");
    coeff=cmd.readLine();

    int vcoeff=Integer.parseInt(coeff);

    }



    }
    Le problème j'ai un gros gros doute sur le code :

    Matiere "mat"+i = new Matiere ;
    Il est sencer crée une objet matière pour chaques matières.

    Le deuxième point surlequel je n'est pas trouver de réponses ces de savoirs comment accéder au différent attribut des matières rentrer.

    Un truc du genre :

    Matière.mat1.nom

  2. #2
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 254
    Par défaut
    Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ArrayList<Matiere> listeMatiere = new ArrayList<Matiere>();
     
    listeMatiere.add(matiere1);
    listeMatiere.add(matiere2);
     
    ...
    Salut.

  3. #3
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    Merci pour le bout de réponse je pense que c'est surement la bonne solution


    Mais je n'est absolument pas compris comment cela marchait ...

    Désolé mais pourrais tu m'expliquer le fonctionnement de ta solution ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ArrayList<Matiere> listeMatiere = new ArrayList<Matiere>();
     
    listeMatiere.add(matiere1);
    listeMatiere.add(matiere2);
    Le ArrayList<Matiere> sert a quoi ? en faite c'est surtout le <Matiere> qui me dérange.

    Sinon comment ce code va t'il faire pour crée l'objet désirer. La ligne ListeMatiere.add(matiere1); Va servir a quoi ?

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Par défaut
    Pour faire simple un ArrayList est un "tableau dynamique" (bien retenir les "" ).

    En effet, contrairement aux tableaux standards, il n'est pas nécessaire de définir un type ni une taille définie.

    La méthode "add(<Objet>)" permet donc d'ajouter des objets dans le tableau.

    Pour le reste, je te laisse lire : http://java.sun.com/j2se/1.5.0/docs/...ArrayList.html

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 254
    Par défaut
    Citation Envoyé par Luffy49

    Le ArrayList<Matiere> sert a quoi ? en faite c'est surtout le <Matiere> qui me dérange.

    Sinon comment ce code va t'il faire pour crée l'objet désirer. La ligne ListeMatiere.add(matiere1); Va servir a quoi ?
    Tu mets ce code dans ta classe bts et ton tableau contiendra des instances de ta classe Matiere.
    Cela peut être autre chose comme une instance de la classe String, Integer, etc...

  6. #6
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    Je commence a m'embrouiller in my head...


    Je voudrais juste que l'on m'explique le principe des class

    quand je fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Matiere> listeMatiere = new ArrayList<Matiere>();
    Il crée un nouvel objet ListeMatiere si j'ai bien compris qu'il inscrit dans un tableau, il va donc allez voir la class Matiere ,celle ci va se dérouler et il faut que je lui indique qu'elle attribut je doit retourner ??? est ce que j'ai bien compris ???

    Si oui qu'elle est la syntaxe du retourne ??? et comment vont s'incrire les differents attribut dans le array ?? comment acceder a chacun de ses attribut ??

  7. #7
    Membre éclairé Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Par défaut
    Citation Envoyé par Luffy49
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Matiere> listeMatiere = new ArrayList<Matiere>();
    Il crée un nouvel objet ListeMatiere si j'ai bien compris qu'il inscrit dans un tableau, il va donc allez voir la class Matiere ,celle ci va se dérouler et il faut que je lui indique qu'elle attribut je doit retourner ??? est ce que j'ai bien compris ???

    Si oui qu'elle est la syntaxe du retourne ??? et comment vont s'incrire les differents attribut dans le array ?? comment acceder a chacun de ses attribut ??
    Non, il crée un nouvel objet ArrayList de collection Matiere.
    Je ne comprends pas vraiment ce que tu demandes par la suite, mais pour ajouter un objet de type Matiere dans ton ArrayList (n'oublie pas de l'importer java.util.ArrayList) tu dois utiliser add(Matiere m);

    Exemples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    listeMatiere.add(unObjetMatiere);
    Matiere objetMatiere = listeMatiere.get(indice);//où indice est la position de ton objet dans l'ArrayList
    listeMatiere.remove(indice);
    Pour plus de fonctions, vas voir dans l'API ;-)

    PS : tu peux parcourir ton ArrayList :
    for(int i=0;i<listeMatiere.size();i++) listeMatiere.get(i);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DEBUTANT] Probléme avec l'héritage
    Par BRAUKRIS dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 21h22
  2. [Debutant] Problème avec des membres static
    Par Mathieu.J dans le forum Débuter
    Réponses: 4
    Dernier message: 24/08/2005, 18h09
  3. [debutant]Problème avec une requete ....
    Par MichMich29 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 27/07/2005, 18h19
  4. [debutant] problème avec type à utiliser
    Par mlequim dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 15/07/2005, 17h08

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