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:public livre(String t, String n, String p, String num, String cat)
Version imprimable
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:public livre(String t, String n, String p, String num, String cat)
Essaie ça :
Code:
1
2
3
4 public Livre(String t, String n, String p, String num, String cat) { }
Non c'est pas ça.
Voici l'instruction d'appelle au constructeur :
Puis le constructeur :Code:livre unPolar = new livre("Le mystère de la chambre rose", "Leroux", "Gaston", "124", "Policiers") ;
Code:
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); }
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.
Non mais j'ai essayé et çca marche pas, de toute façon j'ai déclaré ma classe "livre" sans majuscule.
On te donne des conseils de nomenclature, tu veux pas les suivre, fais comme tu veux :roll:
Même si le problème ne vient pas de là, apprends à programmer "proprement"
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.
Si le nom de la classe n'a pas de majuscule, pas de pbs (Même s'il vaut mieux en mettre une)Citation:
Envoyé par 1tox
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 ;)
Sinon le sujet est à cheval sur 2 topics concernant son problème :?
ICI aussi
Je vous mets le code dans son intégralité ça sera plus simple :
la classe livre :
Le programme principal :Code:
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 ; } }
En tout cas merci pour votre patience.Code:
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(); } }
Il manque une } (en rouge), et il y en a une en trop apres le deuxieme constructeur
Code:
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 ; } }
C'est ça merci beaucoup, je vais enfin pouvoir avancer, merci encore à vous tous et à toi mrkzed.
;)