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 :

Problème définition constructeur


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut Problème définition constructeur
    Bonjour,

    En définnissant mon constructeur cela m'indique une erreur :
    "Erreur de syntaxe sur le sème ",", ; attendu"

    Et ma déclaration c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public livre(String t, String n, String p, String num, String cat)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 53
    Par défaut
    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Livre(String t, String n, String p, String num, String cat) {
     
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Non c'est pas ça.

    Voici l'instruction d'appelle au constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    livre unPolar = new livre("Le mystère de la chambre rose", "Leroux", "Gaston", "124", "Policiers") ;
    Puis le constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public livre(String t, String n, String p, String num, String cat){
    		setTitre(t) ;
    		setNom(n) ;
    		setPrenom(p) ;
    		setNumISBN(num) ;
    		setCategorie(cat);
    	}

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 53
    Par défaut
    Tu devrais vraiment essayer de mettre une majuscule à la première lettre de ta classe (et donc de ton constructeur). Le compilateur java est très pointilleux là-dessus. Si tu déclares ton constructeur avec une 1ere lettre en minuscule, ton compilo en déduira qu'il s'agit d'une méthode de ta classe.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Non mais j'ai essayé et çca marche pas, de toute façon j'ai déclaré ma classe "livre" sans majuscule.

  6. #6
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    On te donne des conseils de nomenclature, tu veux pas les suivre, fais comme tu veux

    Même si le problème ne vient pas de là, apprends à programmer "proprement"

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Je savais pas que c'était une règle de mettre une majuscule en première lettre de classe, je le ferais la prochaine fois.

  8. #8
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Citation Envoyé par 1tox
    Tu devrais vraiment essayer de mettre une majuscule à la première lettre de ta classe (et donc de ton constructeur). Le compilateur java est très pointilleux là-dessus. Si tu déclares ton constructeur avec une 1ere lettre en minuscule, ton compilo en déduira qu'il s'agit d'une méthode de ta classe.
    Si le nom de la classe n'a pas de majuscule, pas de pbs (Même s'il vaut mieux en mettre une)

    Pour ton pb bugland, apparemment il n'y en a pas, ton pb doit venir d'un point virgule ou d'une erreur de syntaxe autre part.
    Relis bien ton code et regarde à quelle ligne il te dit ça. Si ça persiste, poste le code te ta classe.

    EDIT : Correction du nom

  9. #9
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Sinon le sujet est à cheval sur 2 topics concernant son problème

    ICI aussi

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Je vous mets le code dans son intégralité ça sera plus simple :

    la classe livre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    import java.util.*;
    public class livre {
     
    	private String titre ;
    	private String nom ;
    	private String prenom ;
    	private String categorie ;
    	private String numISBN ;
    	private String codeEnreg ;
     
     
    	//constructeur, initialisation de l'objet
    	public livre(){
    		Scanner lectureClavier = new Scanner (System.in) ;
    		System.out.println("Entrer le titre : ") ;
    		setTitre(lectureClavier.next()) ;
    		System.out.println("Entrer le nom de l'auteur : ") ;
    		setNom(lectureClavier.next()) ;
    		System.out.println("Entrer le prénom de l'auteur : ") ;
    		setPrenom(lectureClavier.next()) ;
    		System.out.println("Entrer le numéro ISBN : ") ;
    		setNumISBN(lectureClavier.next()) ;
    		System.out.println("Entrer la catégorie du livre : ") ;
    		setCategorie(lectureClavier.next()) ;
     
    	//surcharge du constructeur
    	public livre(String t, String n, String p, String num, String cat){
    		setTitre(t) ;
    		setNom(n) ;
    		setPrenom(p) ;
    		setNumISBN(num) ;
    		setCategorie(cat);
    	}
     
     
    	}
     
    	public void afficher(){
    		System.out.println("Ce livre s'appelle " + titre) ;
    		System.out.println("Il a était écrit par " + prenom + " " + nom) ;
    		System.out.println("Son numéro ISBN est : " + numISBN) ;
    		codeEnreg = setCode() ;
    		System.out.println("Son code d'enregistrement calculé est :  " + codeEnreg) ;
    	}	
     
    	//initialisation des valeurs/ méthode d'accès en écriture
    	public void setTitre(String valeur){
    		titre = valeur ;
    	}
     
    	public void setNom(String valeur){
    		nom = valeur ;
    	}
     
    	public void setPrenom(String valeur){
    		prenom = valeur ;
    	}
     
    	public void setNumISBN(String valeur){
    		numISBN = valeur ;
    	}
     
    	public void setCategorie(String valeur){
    		categorie = valeur ;
    	}
     
     
     
    	//méthode d'accès en lecture
    	public String getTitre(){
     
    		return titre ;
    	}
     
    	public String getNom(){
    		return nom ;
    	}
     
    	public String getPrenom(){
    		return prenom ;
    	}
     
    	public String getNumISBN(){
    		return numISBN ;
    	}
     
    	public String getCategorie(){
    		return categorie ;
    	}
     
    	public String getCode(){
    		codeEnreg = setCode() ;
    		return categorie ;
    	}
     
     
     
     
     
    	private String setCode(){
    		String codeCalculer ;
    		String fin ;
    		int finCode ;
     
    		codeCalculer = nom.substring(0,2) ;
    		codeCalculer = codeCalculer.concat(prenom.substring(0,2)) ;
    		codeCalculer = codeCalculer.concat(categorie.substring(0,2)) ;
    		finCode = numISBN.length() ;
    		fin = numISBN.substring((finCode -2) , finCode  );
    		codeCalculer = codeCalculer.concat(fin) ;
    		return codeCalculer ;
     
    	}
     
     
     
     
     
     
    }
    Le programme principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import java.util.*;
    public class exercice7_3 {
     
    	public static void main(String[] args) {
     
    		Scanner lectureClavier = new Scanner(System.in) ;
    		livre livrePoche = new livre() ;
    		livrePoche.afficher();
    		livre unPolar = new livre("Le mystère de la chambre rose", "Leroux", "Gaston", "124", "Policiers") ;
    		unPolar.afficher();
     
    	}
     
    }
    En tout cas merci pour votre patience.

  11. #11
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Par défaut
    Il manque une } (en rouge), et il y en a une en trop apres le deuxieme constructeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    import java.util.*;
    public class livre {
    
    	private String titre ;
    	private String nom ;
    	private String prenom ;
    	private String categorie ;
    	private String numISBN ;
    	private String codeEnreg ;
    	
    	
    	//constructeur, initialisation de l'objet
    	public livre(){
    		Scanner lectureClavier = new Scanner (System.in) ;
    		System.out.println("Entrer le titre : ") ;
    		setTitre(lectureClavier.next()) ;
    		System.out.println("Entrer le nom de l'auteur : ") ;
    		setNom(lectureClavier.next()) ;
    		System.out.println("Entrer le prénom de l'auteur : ") ;
    		setPrenom(lectureClavier.next()) ;
    		System.out.println("Entrer le numéro ISBN : ") ;
    		setNumISBN(lectureClavier.next()) ;
    		System.out.println("Entrer la catégorie du livre : ") ;
    		setCategorie(lectureClavier.next()) ;
                 }
    		
    	//surcharge du constructeur
    	public livre(String t, String n, String p, String num, String cat){
    		setTitre(t) ;
    		setNom(n) ;
    		setPrenom(p) ;
    		setNumISBN(num) ;
    		setCategorie(cat);
    	}
    		
    		
    	
    	
    	public void afficher(){
    		System.out.println("Ce livre s'appelle " + titre) ;
    		System.out.println("Il a était écrit par " + prenom + " " + nom) ;
    		System.out.println("Son numéro ISBN est : " + numISBN) ;
    		codeEnreg = setCode() ;
    		System.out.println("Son code d'enregistrement calculé est :  " + codeEnreg) ;
    	}	
    	
    	//initialisation des valeurs/ méthode d'accès en écriture
    	public void setTitre(String valeur){
    		titre = valeur ;
    	}
    	
    	public void setNom(String valeur){
    		nom = valeur ;
    	}
    	
    	public void setPrenom(String valeur){
    		prenom = valeur ;
    	}
    	
    	public void setNumISBN(String valeur){
    		numISBN = valeur ;
    	}
    	
    	public void setCategorie(String valeur){
    		categorie = valeur ;
    	}
    	
    	
    	
    	//méthode d'accès en lecture
    	public String getTitre(){
    		
    		return titre ;
    	}
    	
    	public String getNom(){
    		return nom ;
    	}
    	
    	public String getPrenom(){
    		return prenom ;
    	}
    	
    	public String getNumISBN(){
    		return numISBN ;
    	}
    	
    	public String getCategorie(){
    		return categorie ;
    	}
    	
    	public String getCode(){
    		codeEnreg = setCode() ;
    		return categorie ;
    	}
    	
    	
    		
    	
    	
    	private String setCode(){
    		String codeCalculer ;
    		String fin ;
    		int finCode ;
    		
    		codeCalculer = nom.substring(0,2) ;
    		codeCalculer = codeCalculer.concat(prenom.substring(0,2)) ;
    		codeCalculer = codeCalculer.concat(categorie.substring(0,2)) ;
    		finCode = numISBN.length() ;
    		fin = numISBN.substring((finCode -2) , finCode  );
    		codeCalculer = codeCalculer.concat(fin) ;
    		return codeCalculer ;
    		
    	}
    	
    	
    		
    
    	
    
    }

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    C'est ça merci beaucoup, je vais enfin pouvoir avancer, merci encore à vous tous et à toi mrkzed.


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

Discussions similaires

  1. problème de constructeur avec wxWidget
    Par Ardeciel dans le forum wxWidgets
    Réponses: 2
    Dernier message: 10/03/2007, 23h11
  2. Problème de constructeur de copie ?
    Par Bestiol dans le forum C++
    Réponses: 6
    Dernier message: 03/11/2006, 11h28
  3. problème définition alias
    Par julien.63 dans le forum Apache
    Réponses: 2
    Dernier message: 26/10/2006, 17h41
  4. [POO]Probléme de constructeur virtuel surchargé
    Par Laurent Dardenne dans le forum Delphi
    Réponses: 10
    Dernier message: 15/08/2006, 12h19
  5. [C#] DLL, problème de constructeur
    Par gmonta dans le forum C#
    Réponses: 4
    Dernier message: 30/11/2005, 09h43

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